繁体   English   中英

DNN表单无法使用ASP.NET c#正确处理

[英]DNN Form not processing correctly with ASP.NET c#

我遇到了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#response.redirect代码。

您无法在DNN中拥有表单,因为DNN页面本身就是表单。 检出editUrl()函数以更改页面发布到的位置。 我目前正在尝试自行解决问题。

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

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中的参数或其他方式发送信息。...如果遇到这种情况,请找我。 :-)我还没走那么远。 我以为它无论如何都会将发布数据发送到新页面。

希望能有所帮助。

由于站点中的整个页面都是表单,因此无法在页面内创建表单。

过去,我对此的解决方案是调用一个javascript,以在单击按钮/链接时更改表单动作。

这样做的问题是它发送视图状态和所有dnn特定的后缀以及所需的字段。

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

编辑:

以下是一些代码,可让您序列化表格的一部分并将其发送

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM