私は以下を持っていて、うまくいくようです:
私の.csファイルで:
protected void menu_ItemClick(object sender, Telerik.Web.UI.RadMenuEventArgs e)
{
string value = (e.Item.Value).ToString();
WtrClientDS.SelectCommand = "SELECT * from Prog where ProgId = " + value;
}
.aspx ファイル内:
<asp:SqlDataSource ID="WtrClientDS" runat="server" ConnectionString="<%$ ConnectionStrings:ProgSQL %>">
</asp:SqlDataSource>
前述のように、上記の内容は問題なく動作しますが、ベスト プラクティスではないと思います。
代わりにやりたいことは、次のように .aspx ファイル内に select コマンドがあるが機能しない場合です。
.cs ファイルの内部
protected void menu_ItemClick(object sender, Telerik.Web.UI.RadMenuEventArgs e)
{
string value = (e.Item.Value).ToString();
// changed below per input from user but still does not work.
WtrClientDS.SelectParameters.Add(new Parameter("LocId", System.TypeCode.String, value));
}
.aspx ファイルの内部:
<asp:SqlDataSource ID="WtrClientDS" runat="server" ConnectionString="<%$ ConnectionStrings:ProgSQL %>"
SelectCommand = "SELECT * from Prog where ProgId = @LocId">
<SelectParameters>
<asp:Parameter Name="LocId" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
私が上に持っているものは単に機能しません。エラーは発生しませんが、単に機能しません。また、どちらがより好ましい方法/理想的な方法であるかを知りたいと思いました。