我有一个名为btnSubmit的按钮,我将表单操作属性设置为这样的URL。
Protected Sub btnSubmit_Click(ByVa....
Form.Attributes.Add("action", "http://now.eloqua.com/e/f2.aspx")
End Sub
这确实有效但出于某种原因它只在我第二次点击按钮后才有效。为什么会这样,我该如何解决这个问题?
我在VB.NET中使用ASP.NET 3.5(C#代码也没问题)
我真正想要做的是在提交上做一些代码,然后在所有内容完成的情况下做一些代码,然后设置表单操作属性,它必须将表单数据发送到该URL的另一个位置。
提前致谢!
答案 0 :(得分:2)
Fabian是对的。
您的代码在首次提交后在服务器端执行。
要做你想做的事,你需要使用在客户端执行的scriptmanager发出一些javascript,因为它必须在提交首先发生之前发生。
使用Page.ClientScript.RegisterClientScriptBlock()
发出一个脚本块,其中包含适合您的内容的函数,然后设置表单的action属性。使用OnClientClick
属性从按钮调用该函数。
答案 1 :(得分:1)
它第一次不起作用,因为已经渲染了添加属性的表单。
答案 2 :(得分:0)
第一次单击按钮时,它会设置表单属性,第二次单击它时,它会提交您第一次编辑的表单...
您可能希望在页面生命周期的其他位置设置表单属性。
答案 3 :(得分:0)
如果您需要在页面之间保留POST数据,则可能需要使用Server.Tranfer。请参阅此处以获得最佳解释:Using asp.net, how do I redirect a user and change the POST data at the same time?