【发布时间】:2012-06-17 10:41:54
【问题描述】:
我在firefox 和google chrome 面临以下问题:
Sys.ParameterCountException: Parameter count mismatch.
我调用下面的javascript方法onclick:
<script type="text/javascript">
var confirmSubmited = false;
function SubmitWithLog(par_name, par_address, frm) {
jQuery.ajax({
url: "/LogAction.ashx?par_name=" + par_name + "&par_address=" + par_address,
type: "GET",
timeout: 3000,
async: true, // you can try and async:false - maybe is better for you
data: action = 4, // here you send the log informations
cache: false,
success: function(html) {
jQuery(frm).submit();
},
error: function(responseText, textStatus, XMLHttpRequest) {
jQuery(frm).submit();
}
});
return false;
}
</script>
来自 firebug 的链接将呈现如下:
<a href="#" onclick="SubmitWithLog('%d8%b7%d9%84%d8%a8+%d8%a5%d9%84%d8%aa%d9%85%d8%a7%d8%b3+%d9%84%d9%84%d9%85%d9%88%d8%a7%d8%b1%d8%af+%d8%a7%d9%84%d8%a8%d8%b4%d8%b1%d9%8a%d8%a9','...../RequestList.aspx','#ctl43');return false;">GO </a>
根据以下链接:
Error: Sys.ParameterCountException: Parameter count mismatch.
我设置了ScriptMode = "release"
但我得到另一个错误
this._toFormattedString is not a function
IE不存在这个问题。
编辑:
public class LogAction : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext con)
{
// log here what you wish
string[] statistics = TrackUser();
string a = HttpUtility.UrlDecode(con.Request.Params["Par_name"].ToString());
string b = con.Request.Params["Par_address"].ToString();
TraceActivity(a, b, statistics[0], statistics[1], statistics[2]);
// end up with no content
con.Response.TrySkipIisCustomErrors = true;
con.Response.Status = "204 No Content";
con.Response.StatusCode = 204;
}
//-------------------------------------------
}
【问题讨论】:
-
我不确定这段代码是否与错误有关,是否可以给我网页上的真实网址以查看完整页面?
-
网站仍处于开发阶段:(
-
错误来自您的 Ajax 请求还是来自您的表单提交? LogAction.ashx 有什么作用?能发下相关的服务器端代码吗?
-
@just_name 该错误看起来像一个 .NET 错误,因此来自 LogAction.ashx。 (
ScriptMode = "release"只对客户端隐藏错误;它不能解决任何问题。)链接在 IE 中呈现什么? -
请在加载 jQuery 后立即添加
$.noConflict();。正如你在这里看到的:api.jquery.com/jQuery.noConflict
标签: javascript jquery asp.net ajax updatepanel