我正在尝试将变量传递给SqlDataSource中的SelectCommand。我有这个需要传递的MyIdVal。
以下是代码:
<form id="form1" runat="server">
<div>
<%=MyIdVal%>
</div>
<asp:GridView ID="GridView1" runat="server" DataSourceID="myIdDataSource">
</asp:GridView>
<asp:SqlDataSource runat="server" ID="myIdDataSource"
ConnectionString="<%$ ConnectionStrings:myCipConnection %>"
ProviderName="<%$ ConnectionStrings:myCipConnection.ProviderName %>"
SelectCommand="SELECT * FROM books WHERE id = @MyIdVal" >
</asp:SqlDataSource>
</form>
如果我对id进行硬编码,代码工作正常,那么这是如何工作的?
答案 0 :(得分:3)
这有两种方法。
将Parameter值绑定到控件
<selectparameters>
<asp:controlparameter
name="MyIdVal"
controlid="DropDownListBooks"
propertyname="SelectedValue"/>
</selectparameters>
2。使用SqlDataSource.Selecting Event
protected void myIdDataSource_Selecting
(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.InputParameters["MyIdVale"] = MyIdVal;
}