1

Javascript

var form = document.getElementById('date_budget');
pop('', 'exp_upd', '95', '80');
form.action = "test.aspx";
form.target = 'exp_upd';
form.submit();

HTML

<form id="date_budget" name="date_budget" method="post">
    <table>
    <tr>
        <!--#include file="zone.inc" -->
        <td id='mlodg_loc'><select name="loc" id="loc">
                <option value="Select Location">Select Location</option>
            </select></td>
        <td>
            <select name="month" id="month">    
                <option value="1">1</option>
            </select>
        </td>
        <td>
            <select name="year" id="year">
                <option value="2013">2013</option>
            </select>
        </td>
    </tr>
    </table>
</form>

上面的代码打开了一个弹出窗口,但是当我通过添加 runat 属性更改 html 时,我收到“Validation of viewstate MAC failed”,以及一些额外的垃圾。修改后的html如下

<form id="date_budget" name="date_budget" method="post" runat="server">
    <table>
        <tr>
            <!--#include file="zone.inc" -->
        <td id='mlodg_loc'><select name="loc" id="loc" runat="server">
            <option value="Select Location">Select Location</option>
            </select></td>
            <td>
                <select name="month" id="month" runat="server"> 
                <option value="1">1</option>
                </select>
            </td>
            <td>
                <select name="year" id="year" runat="server">
                <option value="2013">2013</option>
                </select>
            </td>
        </tr>
    </table>
</form>

是否有任何解决方法可以同时使用 runat 服务器和在 JS 中使用相同的元素,而不使用那些 asp 标签,就像<%= hidBT.ClientID %>我不希望以任何其他方式一样。

4

2 回答 2

0
  1. 尝试将其添加<pages enableViewStateMac="false">到您的web.config中(或)

  2. 尝试将其更改 <form id="date_budget" name="date_budget" method="post">

    <form id="date_budget" name="date_budget" runat="server">

    它不应该指定方法或动作

于 2013-01-29T12:29:58.113 回答
0

您可以尝试在控件或 @Page 指令中设置 ClientIDMode="Static"。这将使表单的 id 保持为“date_budget”。

Otherwise if you don't need the ViewState on the page, then you can disable it in the @Page directive using EnableViewState="false".

于 2013-01-29T13:23:00.633 回答