繁体   English   中英

防止重命名 ASPX 表单

[英]Prevent ASPX form from being renamed

我有一个 ASPX 页面,其中包含一个表单。 该表格已被赋予名称和 ID。 aspx 页面还有一个链接到的母版页。

提供页面时,表单的名称和 ID 都不同。 例如,名称从“uploadForm”更改为“Form1”

表格的动作似乎也发生了变化。

这是什么原因,我该如何预防?

因此,aspx 页面的开头行是:

<%@ Page Language="C#" MasterPageFile="~/Modal.Master" AutoEventWireup="true" CodeBehind="UploadPage.aspx.cs" Inherits="WebConnect.UploadPage" %>

表单标签是:

<form id="uploadForm" name="uploadForm" enctype="multipart/form-data" action="Upload.ashx" method="post">

服务时,它显示为:

<form id="Form1" action="UploadPage.aspx" method="post">


更新:这是页面的整个主体:

 <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <form id="uploadForm" name="uploadForm" enctype="multipart/form-data" action="Upload.ashx" method="post"> <div> File: <input id="file1" name="fileField" type="file" /> <input id="objectID" name="objectID" type="hidden" /> <input id="fieldID" name="fieldID" type="hidden" /> <input id="submitType" name="submitType" type="hidden" /> <progress id="uploadProgress" value="10" max="100" display="none"></progress> <button id="Html5Submit" type="button" onclick="AsyncSubmit()">Submit</button> <button id="Html4Submit" type="button" onclick= "SyncSubmit()">Submit</button> </div> </form> <div id="Html5Upload"> </div> </asp:Content>

长期以来,呈现控件重命名一直是 ASP.Net 中的一个众所周知的问题,在 WebForms 中您无法采取很多措施来防止它。 但是,您可以修改 JavaScript 通过使用 Asp.Net 元素上的ClientId属性来搜索元素的方式。

var formId = '<%= uploadForm.ClientID %>';

资料来源:如何阻止 ASP.NET 更改 ID 以使用 jQuery

在您的 JavaScript 中,只需使用该变量而不是'uploadForm' ,您就可以使用 go。

我认为你嵌套了 forms,这是不允许的。 您看到的第一个表单是MasterPage中的表单,第二个表单 uploadForm 被浏览器丢弃(uploadForm 的结束标记成为 Form1 的结束标记)。

因此,您必须将uploadForm移到Form1表单之外。

我认为第一个问题确实是您的意图是什么? 我正在尝试关注评论/答案,但我认为它并不明显(但我可能错过了)。

如果您想在回发以外的其他地方提交到同一页面(默认 web forms 行为):

  • 如果处理是服务器端,您可以根据需要拥有尽可能多的按钮控件( runat="server" ),每个按钮控件都有自己的postbackurl
  • 如果您想使用服务器端控件进行客户端(Javascript)处理,可以使用@RobRodi 的答案
  • 您可以使用标准的 html 按钮(html 按钮,而不是runat="server" )并完全通过客户端脚本处理其点击事件(与表单操作无关)。

暂无
暂无

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

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