在aspx页面中访问方法后面的代码变量

时间:2015-06-13 06:23:03

标签: c# asp.net

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

import datetime
dob = datetime.date(1980, 10, 10)

def age():
    today = datetime.date.today()
    years = today.year - dob.year
    if today.month < dob.month or (today.month == dob.month and today.day < dob.day):
        years -= 1
    return years

def age2():
    today = datetime.date.today()
    this_year_birthday = datetime.date(today.year, dob.month, dob.day)
    if this_year_birthday < today:
        years = today.year - dob.year
    else:
        years = today.year - dob.year - 1
    return years

如何从.aspx页面访问变量?假设我想访问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; } }

我使用过这种方法,但似乎没有用

ProgTitle

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

<%=ProjTitle%>

通常情况下,我会将html代码添加到方法中,但这是不可行的,所以我想获取变量值并将其显示在文本框中。

<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>

2 个答案:

答案 0 :(得分:3)

ProgTitle必须在后面的代码中声明为protectedpublic,才能从.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 %>">

答案 1 :(得分:1)

如果不使用数据绑定,那么如何使用会话并分配变量然后使用它。代码Behing:SESSION.START(); SESSION["PjTitle"]=PrgTtile; 然后在aspx中使用:<%= SESSION["PjTitle"] %>

访问它