我使用webmethod,并在那
我使用Request.form,
从输入文本框中使用want值如何使用Ajax post
在WebMethod中获取表单输入值我的问题是,我将一些输入作为参数传递给webmethod,但是希望使用Request.Form检索其他参数,但我在变量中得到空白
我使用runat =“server”作为输入类型=“文字”
我试过了
string setrname = HttpContext.Current.Request.Form["selectroomname"];
但是这个为空
建议 maulik
答案 0 :(得分:1)
处理下面的代码并告诉我你输出的内容:
int v = HttpContext.Current.Request.Form.Keys.Count;
string var = "";
string[] name1 = HttpContext.Current.Request.Form.AllKeys;
if(name1 != null)
{
foreach (string name in name1)
{
if (name != null)
{
var = var + "[" + name.Trim() + "]-" + HttpContext.Current.Request.Form[name].ToString().Trim();
var = var + "---";
//store it and compare according to your value--selectroomname
}
}
答案 1 :(得分:0)
我假设您的WebMethod
如下所示
[WebMethod]
public static string MyWebMethod(..
您无法在静态方法中访问Page
控件,即TextBox
和其他控件,因为它们是非静态的。
你应该在你的ajax中传递来自客户端本身的TextBox的值,即
var url='/Default.aspx/MyWebMethod';
var value = document.getElementById('textBoxId').value;
var data={myField:value};
makeAjaxRequest(url,data,callback);
function callback(data){
///this is where you recieve ajax success
}
其中makeAjaxRequest
是对ajax发送函数的简单包装,类似于
<script type="text/javascript">
function makeAjaxRequest(url,data,callback) {
$.ajax({
type: 'POST',
url: url,
data: data,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: callback
});
}
</script>