簡體   English   中英

在aspx頁面中訪問方法后面的代碼變量

[英]Accessing code behind method Variable in aspx page

我在自定義詳細視圖中工作。 我有一個程序頁面,可以查看所有程序。 當用戶單擊“更新”按鈕時,將重定向用戶以管理程序頁面。 “管理程序”頁面包含一個從中提取所有行的方法。

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

必須在后面的代碼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 %>">

如果不使用數據綁定,那么如何使用session並分配變量然后使用它。 代碼Behing: SESSION.START(); SESSION["PjTitle"]=PrgTtile; SESSION.START(); SESSION["PjTitle"]=PrgTtile; 然后在aspx中使用以下命令訪問它: <%= SESSION["PjTitle"] %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM