问个问题,关于webform 页面post提交数据时提交的url的问题

猴头 2016-05-17 02:46:19
form 表单 的 action 对应的url 能以编程的方式 修改吗?

比如 在 Page_load 中,根据不同的参数 将 webForm 中 form 的提交的 的url 改为不同的值?
...全文
224 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
猴头 2016-05-17
  • 打赏
  • 举报
回复
引用 14 楼 szjarvis 的回复:
方法很多,可以通过程序返回一个post给前端,再通过JS去修改。 或者直接<%=PostUrl%>,这个在后台定义成public
引用 1 楼 Whyni111 的回复:
尅一,,,,,,,,,,,
引用 7 楼 sy401042879 的回复:
页面加载完毕,用js修改试试。但是里面的提交,视乎应该ajax。
引用 14 楼 szjarvis 的回复:
方法很多,可以通过程序返回一个post给前端,再通过JS去修改。 或者直接<%=PostUrl%>,这个在后台定义成public
引用 10 楼 u010941149 的回复:
没用button控件,你是怎么进入pageload里面的
当前页面上的 都是 a 标签,并且这些 a 标签 指向的 也是 当前的页面,这些a标签都是对当前的本页面做的 get请求,只是 querystring 参数不同。 现在 是有一个 提交操作,让提交到 当前页面做判断和处理(领导要求就在当前页面中做处理),但是前端给的 页面样式 中 的 包含提交操作的 弹出层, 是通过 拼接的一串 字符串 组成的div,div里面是一个 a标签, 然后把这一串拼接好的字符串 传递给 第三方的 js,中通过js 插入到当前页面中的某个位置,再弹出的 想使用 submit 按钮,但是 当前页面的url是重写过的,使用usubmit按钮提交时,老提示错误,就是那个 url 和当前页面不同的错误,好像是这个,查资料通过设置 页面的 属性,有没效果....... 使用 asp:button 的服务器控件吧, 但是 貌似 asp的服务端控件的OnClick事件处理程序也不能在前端动态添加的吧...... 我现在处理方式是,在 a 标签的 onclick 事件中通过 ajax 向本页面 提交一个 post 请求,然后 在 page_load 事件中 通过判断是post 操作 还是 get操作,以及判断 post操作中的 request.Form 参数 来判断 是否 是 要 处理 特定的提交操作的,如果 是 需要的提交操作,就 吧 response.clear(),然后 response.write("") 输出 处理结果的。
猴头 2016-05-17
  • 打赏
  • 举报
回复
引用 14 楼 szjarvis 的回复:
方法很多,可以通过程序返回一个post给前端,再通过JS去修改。 或者直接<%=PostUrl%>,这个在后台定义成public
引用 1 楼 Whyni111 的回复:
尅一,,,,,,,,,,,
引用 7 楼 sy401042879 的回复:
页面加载完毕,用js修改试试。但是里面的提交,视乎应该ajax。
引用 14 楼 szjarvis 的回复:
方法很多,可以通过程序返回一个post给前端,再通过JS去修改。 或者直接<%=PostUrl%>,这个在后台定义成public
引用 10 楼 u010941149 的回复:
没用button控件,你是怎么进入pageload里面的
我还想问的是,能不能 显示的指定 submit 提交的页面的url???
猴头 2016-05-17
  • 打赏
  • 举报
回复
引用 13 楼 sp1234 的回复:
在页面中,如果你根本没有 asp.net 页面回发,那么你可以随便写 n 个 <form>。注意这是没有 runat="server" 属性声明的 <form>。 你可以随便写,而asp.net 也只是把它(随便什么html字符串标记)当普通的 LiteralControl 控件去看待,而不会当作 Form 控件去看待。 这个时候,你也不用纠结什么“webform的form”了。虽然你的页面html 字符串上写了 <form>,但是你的页面其实没有 form 控件。
页面 显示在浏览器中的url 是经过url重写后的,直接 通过 submit 按钮提交的时候还是提错误,貌似 回发的时候 页面的url 不是当前页面的 url......
szjarvis 2016-05-17
  • 打赏
  • 举报
回复
方法很多,可以通过程序返回一个post给前端,再通过JS去修改。 或者直接<%=PostUrl%>,这个在后台定义成public
  • 打赏
  • 举报
回复
在页面中,如果你根本没有 asp.net 页面回发,那么你可以随便写 n 个 <form>。注意这是没有 runat="server" 属性声明的 <form>。 你可以随便写,而asp.net 也只是把它(随便什么html字符串标记)当普通的 LiteralControl 控件去看待,而不会当作 Form 控件去看待。 这个时候,你也不用纠结什么“webform的form”了。虽然你的页面html 字符串上写了 <form>,但是你的页面其实没有 form 控件。
  • 打赏
  • 举报
回复
引用 9 楼 yan_hyz 的回复:
在Page_load 中个??现在 没用asp:button 控件,用的都是 客户端控件..
如果你不用回发,那么你在创建一个 aspx 之后第一时间应该删除 <fom runat="server">...</form> 部分。怎么还会纠结 form 呢?
  • 打赏
  • 举报
回复
比如说你的页面上的后台代码写
protected void Page_Load(object sender, EventArgs e)
{
    this.Form.Action = "http://www.bing.com/";
}

protected void Button1_Click(object sender, EventArgs e)
{

}
然后打开前端 html 代码,你可以看到 <form> 提交目标地址被动态地指定到 bing 网站去了。 在asp.net中,可以随时动态指定 action。但是一般来说,asp.net 使用来编写企业应用软件的(而不是做简单的偏向于静态的宣传页面的),因此通常都是不去修改这个 action,而是在本页面处理完毕各种事件之后,再在后台使用 Response.Redirect(...) 或者 Server.Transer(...) 等方式进行重定向。
sdfgrtyu 2016-05-17
  • 打赏
  • 举报
回复
引用 9 楼 yan_hyz 的回复:
[quote=引用 8 楼 u010941149 的回复:] 按钮的postbackurl可以
在Page_load 中个??现在 没用asp:button 控件,用的都是 客户端控件..[/quote] 没用button控件,你是怎么进入pageload里面的
猴头 2016-05-17
  • 打赏
  • 举报
回复
引用 8 楼 u010941149 的回复:
按钮的postbackurl可以
在Page_load 中个??现在 没用asp:button 控件,用的都是 客户端控件..
sdfgrtyu 2016-05-17
  • 打赏
  • 举报
回复
按钮的postbackurl可以
sy401042879 2016-05-17
  • 打赏
  • 举报
回复
引用 5 楼 yan_hyz 的回复:
[quote=引用 1 楼 Whyni111 的回复:] 尅一,,,,,,,,,,,
HtmlForm formMain = Master.FindControl("formMain") as HtmlForm; if (formMain != null) { string postUrl = formMain.Attributes["action"]; formMain.Attributes["action"] = "abc.aspx"; } this.Form.Action = "abc.aspx"; 这两都没改成功。 from 是在 母版页中 定义的,通过 Master. 获取..... [/quote] 页面加载完毕,用js修改试试。但是里面的提交,视乎应该ajax。
Whyni111 2016-05-17
  • 打赏
  • 举报
回复
引用 5 楼 yan_hyz 的回复:
[quote=引用 1 楼 Whyni111 的回复:] 尅一,,,,,,,,,,,
HtmlForm formMain = Master.FindControl("formMain") as HtmlForm; if (formMain != null) { string postUrl = formMain.Attributes["action"]; formMain.Attributes["action"] = "abc.aspx"; } this.Form.Action = "abc.aspx"; 这两都没改成功。 from 是在 母版页中 定义的,通过 Master. 获取..... [/quote] 哦,弄错了好像,使用postbackurl
Whyni111 2016-05-17
  • 打赏
  • 举报
回复
通过Id修改form表单啊
Whyni111 2016-05-17
  • 打赏
  • 举报
回复
引用 2 楼 yan_hyz 的回复:
[quote=引用 1 楼 Whyni111 的回复:] 尅一,,,,,,,,,,,
请问 怎么改??在哪里改??我 通过 this.Action改的没用啊....[/quote] form表单没有ID吗?
猴头 2016-05-17
  • 打赏
  • 举报
回复
引用 1 楼 Whyni111 的回复:
尅一,,,,,,,,,,,
HtmlForm formMain = Master.FindControl("formMain") as HtmlForm; if (formMain != null) { string postUrl = formMain.Attributes["action"]; formMain.Attributes["action"] = "abc.aspx"; } this.Form.Action = "abc.aspx"; 这两都没改成功。 from 是在 母版页中 定义的,通过 Master. 获取.....
猴头 2016-05-17
  • 打赏
  • 举报
回复
引用 1 楼 Whyni111 的回复:
尅一,,,,,,,,,,,
请问 怎么改??在哪里改??我 通过 this.Action改的没用啊....
Whyni111 2016-05-17
  • 打赏
  • 举报
回复
尅一,,,,,,,,,,,

62,051

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧