i绑定一个“RadSearchBox”,其中一个表有两个字段,“id”和“name”。我正在搜索通过名称这是好的,但我想得到选定的名称的ID.我该怎么做?
q7solyqu1#
在此处查看OnSearch事件:http://demos.telerik.com/aspnet-ajax/searchbox/examples/overview/defaultcs.aspx,因为您可以在那里获取数据项(eventArgs.DataItem)。当然,您可以将DataValueField属性设置为数据源中所需的字段,并简单地使用e.Value属性。
kiz8lqtg2#
设置DataValueField为ID,DataTextField为name,并在OnSearch事件中访问。就是这样
fnx2tebb3#
另一种方法是附加到搜索框的OnClientSearch客户端事件,并在隐藏字段的帮助下将args.get_value()和args.get_text()值传递给服务器:ASPX
<asp:Button Text="Get Value" OnClick="Get_Value_Click" runat="server" /> <asp:HiddenField id="hiddenField1" runat="server" /> <script> function OnClientSearch(sender, args) { var text = args.get_text(); var value = args.get_value(); concatenatedValues = text + "|" + value; var hiddenField = $get("hiddenField1"); hiddenField.value = concatenatedValues; } </script>
Codebehind
public RadSearchBox searchBox; protected void Page_Load(object sender, EventArgs e) { searchBox = new RadSearchBox(); searchBox.OnClientSearch = "OnClientSearch"; searchBox.DataValueField = "ID"; searchBox.DataTextField = "Name"; searchBox.DataSource = GetSearchBoxData(); searchBox.DataBind(); Form.Controls.Add(searchBox); } protected void Get_Value_Click(object sender, EventArgs e) { string[] values = hiddenField1.Value.Split('|'); string text = values[0]; string value = values[1]; Response.Write("SearchBox text from hiddenField: " + text + "<br/>"); Response.Write("SearchBox value from hiddenField: " + value + "<br/>"); } public DataTable GetSearchBoxData() { DataTable dt = new DataTable(); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("Name", typeof(string)); dt.Rows.Add(1, "John"); dt.Rows.Add(2, "Mary"); dt.Rows.Add(3, "David"); return dt; }
3条答案
按热度按时间q7solyqu1#
在此处查看OnSearch事件:http://demos.telerik.com/aspnet-ajax/searchbox/examples/overview/defaultcs.aspx,因为您可以在那里获取数据项(eventArgs.DataItem)。
当然,您可以将DataValueField属性设置为数据源中所需的字段,并简单地使用e.Value属性。
kiz8lqtg2#
设置DataValueField为ID,DataTextField为name,
并在OnSearch事件中访问。就是这样
fnx2tebb3#
另一种方法是附加到搜索框的OnClientSearch客户端事件,并在隐藏字段的帮助下将args.get_value()和args.get_text()值传递给服务器:
ASPX
Codebehind