ASP.NET POST问题

时间:2009-03-27 19:46:32

标签: c# .net asp.net html forms

我是ASP.NET的新手,并且在ascx用户控件上有一个表单标记。我无法从javascript提交表单,因为我发现这个表单嵌套在一个名为'aspnetForm'的表单中。如果我只想发一个cgi的帖子,我该怎么做呢?

1 个答案:

答案 0 :(得分:4)

如果您不需要,请移除<form runat='server'>并使用您自己的表单:<form action="page.cgi" method="post">。您将无法使用某些服务器控件。改为使用他们的HTML等价物。

如果您无法控制页面,可以使用javascript在页面上注入一个带有隐藏字段的新表单,并在单击按钮时设置值。

这样的事情:

var myForm = document.createElement("form");
myForm.attributes["action"] = "mycgi.cgi";
myForm.attributes["method"] = "POST";
var myhiddenfield = document.createElement("input");
myhiddenfield.attributes["type"] = "hidden";
myhiddenfield.attributes["name"] = "name"
document.body.appendChild(myForm);
myForm.appendChild(myhiddenfield);

function onFormButtonClick() { // set as onclick on a <button>
    myhiddenfield.value = ... //value read from a textbox or something.
    ...
    myForm.submit();
}