将DNN表格更改为正常的GET表格

时间:2012-05-03 13:44:06

标签: asp.net forms search dotnetnuke

我正在使用自定义皮肤对Dot Net Nuke网站进行一些更改。我发现皮肤文件的标题位于'Default.aspx'here中。

表单有一些非常奇怪的行为。我不得不禁用输入按钮,因为在表单内按下会导致网页转到“/HOME.aspx”,但是从未在Default.aspx中指定该操作。

代码如下。

    <dnn:Form id="Form" runat="server" ENCTYPE="multipart/form-data" >
    <asp:Label ID="SkinError" runat="server" CssClass="NormalRed" Visible="False"></asp:Label>
    <asp:PlaceHolder ID="SkinPlaceHolder" runat="server" />
    <input id="ScrollTop" runat="server" name="ScrollTop" type="hidden" />
    <input id="__dnnVariable" runat="server" name="__dnnVariable" type="hidden" />
</dnn:Form>

处理后的表单在浏览器中显示为。

<form name="Form" method="post" action="/HOME.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="Form" enctype="multipart/form-data">

我希望代码显示为简单。

<form name="Form" method="get" action="/SearchResults.aspx"  id="Form">

我尝试直接使用html删除dnn代码,但删除dnn表单会导致网站崩溃。


修改

http://www.ontariosheep.org可以看到我想要做的事情 请注意,如果您按下按钮搜索工作,但按Enter键会导致页面刷新。

2 个答案:

答案 0 :(得分:1)

您可以使用一些Javascript来执行此操作:

jQuery('#SearchBox').keypress(function(e){
   if(e.which == 13){
       e.preventDefault();CallSearchPage('http://www.ontariosheep.org/SearchResults.aspx');
   }
});

你需要把它放在脚本标签中,也放在jQuery文档就绪区域......比如

<script> jQuery(document).ready(function(){

//code above here

}); </script>

答案 1 :(得分:0)

在DNN中更改表单的行为不是一件容易的事情。 DNN使用ASP.NET Web窗体模型,因此页面的操作始终是当前页面。

如果您想要自定义,唯一真正的方法是通过特定页面上的JavaScript修改表单操作,但请注意,在按钮单击或类似触发器之前执行此操作将破坏页面上需要的所有管理功能回发到服务器。

你想要完成什么?