2012-02-15 76 views
0

由於我不想進入的原因,我也不能更改,我使用的是.net web窗體,並且提供了包含多個窗體的html。你可能只有一個帶有Web表單的標籤runat =「server」,所以我不得不採取非正統的方法。填充窗體沒有runat =「服務器」?

我很好通過使用HttpContext.Current.Request提交表單,但是我不是如何去填充表單數據。

我唯一的想法是在document.ready()上創建一個ajax調用,它調用靜態webMethod「on_load」,它將返回JSON。這個JSON然後被jquery函數解析並用數據填充表單。

我不禁感覺有一個更好的方法來做到這一點,納入服務器端代碼,有什麼建議嗎?

+0

你不能使用'Request.Form []',http://msdn.microsoft.com/en-us/library/system.web.httprequest.form.aspx – Prescott 2012-02-15 07:40:06

+0

HttpContext.Current.Request和Request是同一個對象。這適用於表單提交,但是我試圖填充表單上的數據。例如,我從數據庫中獲取名稱「John Doe」,並嘗試填寫表單上的「全名」文本框。 – user1210621 2012-02-15 15:33:14

回答

1

假設您使用純HTML表單元素(因爲您無法在表單元素上使用runat="server"),您可以直接在aspx頁面中設置HTML元素的值。

假設你已經加載了對象,你可以在你的aspx.cs代碼通過公共財產暴露它背後:

Public Property Person MyPerson { get; set; } 

然後在你的aspx代碼,你可以把以下內容:

<input type='text' value='<%=MyPerson.FirstName %>' /> 
+0

如果您沒有對象,則可以公開每個字符串值'Public string fullname {get; set;}'或'public string fullname ='Prescott'',如果你有很多值要填寫,這會在你的代碼隱藏中增加很多,並且不是很乾淨。 – Prescott 2012-02-15 17:07:08