C# GridView中的ASP.NET代码
我正在将一个经典的ASP站点转换为ASP.NET(C#),并且可以从一个页面调用多个存储过程。当前,在经典ASP中,存储过程名称和其他参数等值在查询字符串中传递。我现在正试图确定在ASP.NET中执行此操作的方法,因为我似乎无法使用变量作为存储过程名称。我试图做的是:C# GridView中的ASP.NET代码,c#,asp.net,.net,C#,Asp.net,.net,我正在将一个经典的ASP站点转换为ASP.NET(C#),并且可以从一个页面调用多个存储过程。当前,在经典ASP中,存储过程名称和其他参数等值在查询字符串中传递。我现在正试图确定在ASP.NET中执行此操作的方法,因为我似乎无法使用变量作为存储过程名称。我试图做的是: <% string sp = Request.QueryString["sp"]; %> <asp:SqlDataSource ID="SqlDataSource1" runat="server" C
<% string sp = Request.QueryString["sp"]; %>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="<%= sp%>" SelectCommandType="StoredProcedure">
现在唯一剩下的问题是如何只传递赋值的参数 我认为这并不是你想要的,但可以帮助你:
<asp:SqlDataSource ID="DataSource1" runat="server" SelectCommand="Your SQL"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
<SelectParameters>
<asp:QueryStringParameter Name="sp" QueryStringField="sp"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
我不能测试它,所以只能用一点盐。但我认为你们可以在这之外做更多的阐述。问题解决了。在代码隐藏中:
protected void Page_Load(object sender, EventArgs e)
{
sp = Request.QueryString["sp"];
param1 = Request.QueryString["param1"];
param2 = Request.QueryString["param2"];
param3 = Request.QueryString["param3"];
SqlDataSource1.SelectCommand = sp;
if (param1 != null)
{
SqlDataSource1.SelectParameters.Add("param1", param1);
}
if (param2 != null)
{
SqlDataSource1.SelectParameters.Add("param2", param2);
}
if (param3 != null)
{
SqlDataSource1.SelectParameters.Add("param3", param3);
}
}
在aspx中
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommandType="StoredProcedure">
</asp:SqlDataSource>
您不能在服务器标签中执行此操作:”
@VitorCanova如上所述,我知道是这样的。我的问题是,如何在.NET中完成我在经典ASP中为这两个示例所做的工作。这只是代码中的一个随机点。现在我提供了一些可能会有所帮助的东西。您是否考虑过使用LINQ To SQL-您的生活会更轻松。
EXEC (@sp);
protected void Page_Load(object sender, EventArgs e)
{
sp = Request.QueryString["sp"];
param1 = Request.QueryString["param1"];
param2 = Request.QueryString["param2"];
param3 = Request.QueryString["param3"];
SqlDataSource1.SelectCommand = sp;
if (param1 != null)
{
SqlDataSource1.SelectParameters.Add("param1", param1);
}
if (param2 != null)
{
SqlDataSource1.SelectParameters.Add("param2", param2);
}
if (param3 != null)
{
SqlDataSource1.SelectParameters.Add("param3", param3);
}
}
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommandType="StoredProcedure">
</asp:SqlDataSource>