2012-01-19 30 views
0

我有一些使用C#传递给ASP.NET页面的值,但我需要将这些值设置为SQL数据源的参数。我刚刚开始使用C#和ASP.NET,所以任何帮助将不胜感激。尝试将动态值传递给SQL数据源控件中的参数

数据源代码,我有如下:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
       ConnectionString="<%$ ConnectionStrings:PRS_atlantaConnectionString %>" 
       SelectCommand="SELECT [ExtNum] FROM [EXTINFORMATION] WHERE (([LastName] = @LastName) AND ([FirstName] = @FirstName))"> 
        <SelectParameters> 
         <asp:Parameter DefaultValue="DYNAMIC_VALUE_HERE" Name="LastName" Type="String" /> 
         <asp:Parameter DefaultValue="DYNAMIC_VALUE_HERE" Name="FirstName" Type="String" /> 
        </SelectParameters> 
      </asp:SqlDataSource> 

目前我使用下面的代码显示在页面上的值:

<%= FirstName %> 
<%= LastName %> 

任何帮助再次将不胜感激。

+0

我认为这是你在找什么? http://stackoverflow.com/questions/485821/how-to-pass-variable-to-selectcommand-of-sqldatasource –

+0

为什么你使用sqldatasource?通过代码使用sqlcommands更可靠 –

回答

0

您可以尝试添加以下到您的代码隐藏页:

SqlDataSource1.SelectParameters.Add("some_other_value",System.Data.DbType.sometype,"it's value as string here"); 

添加完毕后,你会:

SqlDataSource1.SelectParameters.Add("LastName", yourdynamicstringvalue); 
    SqlDataSource1.SelectParameters.Add("FirstName", yourdynamicstringvalue); 

或者,如果您有字符串以外的东西,你与比较需要删除下面的块,因为它不再需要:

<SelectParameters> 
     <asp:Parameter DefaultValue="DYNAMIC_VALUE_HERE" Name="LastName" Type="String" /> 
     <asp:Parameter DefaultValue="DYNAMIC_VALUE_HERE" Name="FirstName" Type="String" /> 
    </SelectParameters> 
相关问题