ASP无法正确处理DNN表单.净c#

本文关键字:表单 DNN 正确处理 ASP | 更新日期: 2023-09-27 18:14:44

我遇到了一个Dot Net Nuke自定义表单的问题。表格有一些奇怪的行为。我认为代码中的皮肤本身很奇怪。我有c#背后的提交按钮代码,在触发时重定向到另一个页面,使用代码"response.redirect()"对函数的结束。但是,它将重定向回自身,而无需在页面中指定任何操作。我意识到,当我查看源代码时,它会自动给出一个返回自身的操作。

皮肤本身的代码如下:

<dnn:Form id="Form" runat="server" ENCTYPE="multipart/form-data" >

按钮代码:

<asp:button id="btnClear2" cssclass="dnnSecondaryAction " runat="server" resourcekey="Submit"
  onclick="btnSubmit_Click" />

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

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

我不能改变或删除dnn代码没有网站崩溃。似乎dnn代码将覆盖我的c#响应。重定向代码。

ASP无法正确处理DNN表单.净c#

你不能在DNN中有一个表单,因为DNN页面本身就是一个表单。检查editUrl()函数以更改页面提交的位置。我现在正试图自己解决这个问题。

进一步扩展:cmdblah。点击事件显然与页面上的按钮控件绑定在一起。

protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        cmdblah.Click += cmdblah_Click;

}

        private void cmdblah_Click(object sender, EventArgs e)
    {
        string Testing = EditUrl("AddNewClient");
        Response.Redirect(Testing);
        //throw new NotImplementedException();
    }

在我的情况下,重定向在DNN上做另一个页面而不发送任何东西,但是,我可以看到通过您添加的url中的参数发送信息,或者以其他方式....如果你撞见了,就来报复我。我只是还没到那一步。我想它无论如何都会把post数据发送到新页面。

希望对你有帮助。

由于网站的整个页面都是表单,所以您不能在页面内创建表单。

我过去的解决方案是调用javascript来改变点击按钮/链接时的表单动作。

这个问题是它发送视图状态和所有dnn特定的东西以及预期的字段。

在我的最新项目中,我在要发送和查询的表单字段上使用选择器类来序列化和发布数据。最后效果很好。

编辑:

下面是一些代码,将允许您序列化表单的一部分并发送它

        $.get('processor URL' , 
        $('.ClassAddedToFieldsYouWantToSend').serialize(), 
        function(data) { alert("do something with the response"; }