我從後面的代碼中設置一個變量並在ASP.NET頁面中使用它(將其設置爲文本框內的值)時有點困難。我的網頁只是錯誤,並表示它不存在於當前的情況下。該變量被聲明並設置在Page_Load方法中。在ASP.NET中使用代碼後面的變量
這裏是相關的ASP.NET代碼。我假設你不需要看到後面的代碼,因爲我已經測試通過代碼隱藏(使用Response.Write)輸出變量,並且工作正常。
<asp:TemplateField HeaderText="Initial Path"
SortExpression="Initial_Path">
<EditItemTemplate>
<asp:TextBox ID="TextBox6" runat="server"
Text='<%# initialPath %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox8" runat="server"
Text='<%# initialPath %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label8" runat="server" Text='<%# initialPath %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
謝謝:)
編輯:好吧肯定的是,這裏的代碼背後
string schedID = sched.SchedulerInstanceId;
JobDetail jobDetail2 = sched.GetJobDetail(Request.QueryString["JOB_NAME"], "sched1");
JobDataMap dataMap2 = jobDetail2.JobDataMap;
initialPath = dataMap2.GetString("initialPath");
Response.Write(initialPath);
的回覆於相關部分是用於調試 - 它正確輸出變量,該變量實際上是設置
編輯2:這裏是代碼背後
public partial class EditJobDetails : System.Web.UI.Page
{
public string initialPath { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
//Scheduler stuff for Quartz.NET, removed because of length
string schedID = sched.SchedulerInstanceId;
JobDetail jobDetail2 = sched.GetJobDetail(Request.QueryString["JOB_NAME"], "sched1");
JobDataMap dataMap2 = jobDetail2.JobDataMap;
initialPath = dataMap2.GetString("initialPath");
}
什麼不起作用只是在ASP窗體中的<%= initialpath%>。它只是不顯示任何東西,就像變量沒有分配任何東西
您的代碼隱藏對於此問題同等重要。你能告訴我們嗎? – 2010-10-04 15:41:23
我想我們需要更多的信息,正如柯克所說的。編輯仍然不會告訴我們,如果「初始路徑」是公開的,或者如果它通過一個屬性訪問... – 2010-10-04 15:50:57
對不起,我已經把變量公開爲CrazyDart在下面演示,所以變量聲明是這樣的: – Chris 2010-10-04 15:54:56