填充窗体没有runat =“服务器”?

问题描述:

由于我不想进入的原因,我也不能更改,我使用的是.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

假设您使用纯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