使用ASP.NET Web表单中的纯HTML控件来表单发布值

pyt*_*ips 7 html asp.net webforms

我有一个简单的表单,有一些简单的html输入,如使用ASP.NET Web Forms(不是MVC)的bellow

<table id="tbl_SchoolDetails">
    <tbody id="tbody_SchoolDetails">
        <tr>
            <td>
            School Name
        </td>
        <td>
            <input id="SchoolDetails_SchoolName" type="text" value="<%= ViewModel.School.Name %>" />
        </td>
    </tr>
    <tr>
        <td>
            Head Teacher
        </td>
        <td>
            <input id="SchoolDetails_HeadTeacher_Name" type="text" value="<%= ViewModel.School.HeadTeacher.Name %>" />
        </td>
    </tr>
    <tr>
        <td>
            Head Teacher Email
        </td>
        <td>
            <input id="SchoolDetails_HeadTeacher_Email" type="text" value="<%= ViewModel.School.HeadTeacher.Email %>" />
        </td>
    </tr>
    <tr>
        <td>
            Regent/Placement Contact
        </td>
        <td>
            <input id="SchoolDetails_Regent_Name" type="text" value="<%= ViewModel.School.Regent.Name %>" />
        </td>
    </tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

当我回发到服务器时,文本框的值不包含在Request.Form元素中.有什么理由让我失踪.我不愿意使用asp.net控件,因为该页面后来需要相当数量的javascript来更改ui和其他东西.

我知道我可以轻松地使用MVC做到这一点,但不幸的是,此时的更改不是一个选项.

干杯科林G.

tva*_*son 8

为输入提供id和name,看看是否无法解决问题.

<input id="SchoolDetails_SchoolName"
       name="SchoolDetails_SchoolName"
       type="text"
       value="<%= ViewModel.School.Name %>" />
Run Code Online (Sandbox Code Playgroud)

id属性仅标识DOM中的标记.该名称属性允许标签被调回为形式的一部分.ASP.NET控件或带有的HTML元素会runat=server自动获取分配的名称和标识属性.