Прямо сейчас у меня есть простая форма с одним входом.Я пытаюсь использовать удаленную часть jQuery Validate для вызова моего веб-сервиса, который сейчас просто возвращает false.Проблема, с которой я сталкиваюсь сейчас, заключается в том, что когда он вызывает мой веб-сервис, он вытягивает имя ввода, что является какой-то фигней, созданной .net.Есть ли способ переопределить это и использовать Id входного стиха имя входа.Вот мой jQuery:
$(function () {
$('form').validate();
$("#tbSiteName").rules("add", {
required: true,
remote: "webservices/webservice.asmx/HelloWorld"
});
});
Вот мой HTML:
<label for="tbSiteName">Name:</label>
<input name="ctl00$MainContent$tbSiteName" type="text" id="tbSiteName" class="required" />
Вот информация заголовка из Chrome: (обратите внимание на строковые параметры запроса)
Accept:application/json, text/javascript, */*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Type:application/x-www-form-urlencoded
Cookie:ASP.NET_SessionId=qvupxcrg0yukekkni323dapj
Host:localhost:56803
Referer:http://localhost:56803/Default.aspx
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10
X-Requested-With:XMLHttpRequest
Query String Parameters
ctl00%24MainContent%24tbSiteName:ts
Со стороны сервера я получаю 500 Внутренняя ошибка сервера, потому что моя подпись не соответствует моему сообщению.
Код веб-сервиса:
[WebMethod]
[ScriptMethod]
public bool HelloWorld(string tbSiteName) {
return tbSiteName.Length > 5;
}
Спасибо за помощь.