asp.net在回发后添加了#lnd的结尾

时间:2015-01-22 13:15:56

标签: asp.net

我有一个简单的网页表单,还有一个按钮。 点击按钮后,它会自动添加网址的“#”结尾。

让我们说网址是: http://www.domain.com/test.aspx

回发后它改为 http://www.domain.com/test.aspx#

我正在使用UrlRewriter.NET的url rewriter模块,也许它与此有关。

但在回发之前,表格标签如下:

<form method="post" action="#"

感谢您的任何想法。

编辑:我正在使用母版页,因此无法手动删除操作标记。

2 个答案:

答案 0 :(得分:1)

只需删除操作属性即可。然后表单将自动发布到当前页面。对于这种情况,Url-rewrite模块不是必需的。

修改

由于您无法删除主页,因此您可以使用javascript快速删除属性。如果您正在使用jQuery,则可以使用此代码的变体:

$('form').removeAttr('action')

答案 1 :(得分:1)

我找到了解决方案。 对于url重写模块,应在主页面上设置精细表单动作属性。 并且Url重写模块更改了操作标记,我不知道为什么,但在操作标记的末尾添加了#字符。

我在母版页上使用javascript将其删除。

<script type='text/javascript'>
    function OnLoaded() {
        //alert(document.forms[0].action);
        var s = document.forms[0].action;
        if (s.length >= 1 && s[s.length - 1] == '#') {
            document.forms[0].action = s.substr(0, s.length - 1);
            //alert(document.forms[0].action);
        }
    }
</script>
</head>
<body onload="OnLoaded();">

希望帮助某人面对同样的问题。