C# 访问aspx页面中的代码隐藏方法变量

C# 访问aspx页面中的代码隐藏方法变量,c#,asp.net,C#,Asp.net,我在自定义详细视图中工作。我有一个程序页面,可以查看所有程序。当用户单击“更新”按钮时,用户将重定向到“管理程序”页面。“管理程序”页面包含从中获取所有行的方法 public string ProgramsDetails() { using (SqlConnection con = new SqlConnection(str)) { string htmlStr = ""; SqlCommand cmd = con.CreateCommand();

我在自定义详细视图中工作。我有一个程序页面,可以查看所有程序。当用户单击“更新”按钮时,用户将重定向到“管理程序”页面。“管理程序”页面包含从中获取所有行的方法

public string ProgramsDetails()
{
    using (SqlConnection con = new SqlConnection(str))
    {
        string htmlStr = "";
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandText = " SELECT * from programs where ProgId=@ProgId";
        cmd.Parameters.AddWithValue("@ProgId", "1");
        con.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        if (reader.Read())
        {
            int ProgId = reader.GetInt32(0);
            string ProgTitle = reader.GetString(1);
            string ProgBudget = reader.GetString(4);
            string ProgStarDate = reader.GetString(5); 

        }

        con.Close();
        return htmlStr;
    }
}
如何从.aspx页面访问变量?假设我想访问
ProgTitle

我用过这种方法,但似乎不起作用

<%=ProjTitle%>

我想在文本框中显示每列的值

<div class="cmrs-panel-body no-padding">
        <div class="cmrs-form-inline">
            <div class="cmrs-form-row bordered">
                <label class="cmrs-form-label">Program Code Name</label>
                <div class="cmrs-form-item">
                    <input type="text" name="Code" class="large">
                </div>
            </div>
        </div>
        <div class="cmrs-form-inline">
            <div class="cmrs-form-row bordered">
                <label class="cmrs-form-label">Program Title</label>
                <div class="cmrs-form-item">
                    <input type="text" name="Title" class="large" value="<%=ProgTitle %>"> 
                </div>
            </div>
        </div>
        <div class="cmrs-form-inline">
            <div class="cmrs-form-row bordered">
                <label class="cmrs-form-label">Program Description</label>
                <div class="cmrs-form-item">
                    <textarea class="large"></textarea>
                </div>
            </div>
        </div>
</div>

程序代码名
节目名称
程序描述
通常我会将html代码添加到方法中,但这是不可行的,所以我想获取变量值并在文本框中显示它

htmlStr+="<table><tr><td>"+ProgTitle+"</td></tr></table>";
htmlStr+=“”+ProgTitle+“”;

ProgTitle
必须在代码隐藏中声明为
受保护
公共
,才能从.aspx访问。更改您的代码如下

protected string ProgTitle;

public string ProgramsDetails()
{
    using (SqlConnection con = new SqlConnection(str))
    {
        string htmlStr = "";
        SqlCommand cmd = con.CreateCommand();
        cmd.CommandText = " SELECT * from programs where ProgId=@ProgId";
        cmd.Parameters.AddWithValue("@ProgId", "1");
        con.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        if (reader.Read())
        {
            int ProgId = reader.GetInt32(0);
            ProgTitle = reader.GetString(1);
            string ProgBudget = reader.GetString(4);
            string ProgStarDate = reader.GetString(5);              
        }

        con.Close();
        return htmlStr;
    }
}
然后,您可以在aspx代码中访问
ProgTitle

<input type="text" name="Title" class="large" value="<%=ProgTitle %>">

如果不使用数据绑定,如何使用会话并分配变量,然后使用它。关于代码Behing:
SESSION.START();会话[“PjTitle”]=PrgTtile

然后在aspx中使用:

可以在定义了
ProjTitle
的.aspx代码中添加一部分吗?不能访问局部变量。只有全局变量才能被
@ekad answer访问。这解决了问题,但数据库返回的值没有显示在文本框中。您在代码背后的确切位置调用
程序详细信息
方法?不,我的意思是您在哪里调用
程序详细信息
方法?它是否在加载页面中?