如何在.aspx文件中访问.aspx.cs文件的字符串变量值

时间:2012-07-12 05:42:44

标签: asp.net c#-2.0

我在.aspx.cs文件中得到一个字符串值回归为regression = (Session["Regression"]).ToString();然后我想在SqlDataSource属性的SelectCommand中的.aspx文件中使用此值,如下所示

SelectCommand="SELECT [issue_oid], [issue_num], [regression], 
            [status], [tested_by], [tested_on], [patch_name], [arrived_on], [previous_info], [comment], [is_duplicate] FROM [itt_monthly_patch_issue_list] where status='Not Tested' and `regression='<%#regression%>'"`

.aspx.cs文件page_load方法如下

 protected void Page_Load(object sender, EventArgs e)
    {
            if ((Session["UserName"].ToString()) == string.Empty)
            {
                Server.Transfer("regressionType.aspx");
            }
            regression = (Session["Regression"]).ToString();
            usrname = (Session["UserName"]).ToString();
            DataBind();
     }

请建议我怎么做? 提前谢谢......

4 个答案:

答案 0 :(得分:2)

你可以在SQLDatasource中使用Session Variable的值。像这个例子。

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:testDatabaseConnectionString %>"
    SelectCommand="SELECT * FROM [UserTable] WHERE ([userID] = @UserID)">
    <SelectParameters>
        <asp:SessionParameter Name="UserID" SessionField="UserID" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

让我们知道任何其他问题......

答案 1 :(得分:0)

将Session参数添加到sqlDatasource,如下所示

<asp:SqlDataSource SelectCommand="SELECT [issue_oid], [issue_num], [regression], 
        [status], [tested_by], [tested_on], [patch_name], [arrived_on], [previous_info], [comment], [is_duplicate] FROM [itt_monthly_patch_issue_list] where status='Not Tested' and `regression='<%#regression%>'"`>

<SelectParameters>
        <asp:SessionParameter SessionField="Regression" Name="ParameterName" Type="String" />
</SelectParameters>
</asp:SqlDataSource>

答案 2 :(得分:0)

试试这个:

  SelectCommand="SELECT [issue_oid], [issue_num], [regression], 
                [status], [tested_by], [tested_on], [patch_name], [arrived_on], [previous_info], [comment], [is_duplicate] FROM [itt_monthly_patch_issue_list] where status='Not Tested' and `regression='<%=ReturnRegression()%>'"`

在代码背后:

    string regression=null;//Before Page_Load

    protected string ReturnRegression()
    {
    //Write logic here to prevent null being returned
        return regression;
    }

答案 3 :(得分:0)

试试这个:

public StringBuilder regression = new StringBuilder();
regression.Append((Session["Regression"]).ToString());

然后在.aspx页面(在select命令中),您可以使用“regression”作为:

 <% =regression %>