在我的ASP.NET网站中,我使用Jquery调用Web方法,如下所示:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{'param1': '" + param1 + "','param2': '" + param2+ "' }",
dataType: 'json',
url: "Default.aspx/TestMethod",
error: function (jqXHR, textStatus, errorThrown) {
alert("error: " + textStatus);
},
success: function (msg) {
document.getElementById("content").innerHTML = msg.d;
}
});
Run Code Online (Sandbox Code Playgroud)
Web方法定义是:
[System.Web.Services.WebMethod]
public static String TestMethod(String param1, String param2)
{
String to_return = /* result of operations on param1 and param2 */;
return to_return;
}
Run Code Online (Sandbox Code Playgroud)
我的结果是一个包含HTML代码的String.
如果to_return字符串很小,它是完美的.
但它给我的错误是:
500内部服务器错误6.22s
我尝试使用FireBug在Response中探索它,它向我展示:
{"Message":"处理请求时出错.","StackTrace":"","ExceptionType":""}
在Visual Studio中使用断点,我已将to_return字符串复制到文本文件中.文件大小变为:127 …
在我的ASP.Net网站中,我使用<httpRedirect>web配置永久地将URL重定向到其他位置.
我正在从表中读取URL值并使用Response.Redirect( URL );
它正确地重定向到该URL .
但是现在当我尝试使用以下命令将参数发送到调用页面时:
Response.Redirect("Default.aspx?name=stackoverflow");
Run Code Online (Sandbox Code Playgroud)
<httpRedirect>在web.config中Default2.aspx因为web.config中的以下代码而调用:
<location path="Default.aspx">
<system.webServer>
<httpRedirect enabled="true" destination="Default2.aspx" httpResponseStatus="Permanent" />
</system.webServer>
</location>
Run Code Online (Sandbox Code Playgroud)
问题是Default2.aspx没有收到任何参数.
请帮忙.
注意:我不能使用会话变量,因为页面内容取决于该参数.
例如,
如果用户在新选项卡中打开另一个页面,Default.aspx?name=MetaStackOverflow会话变量将被替换,如果第一页被刷新,那么Stackoverflow它将显示而不是显示内容MetaStackOverflow.
我使用Asp.Net Web Forms创建了一个Admin网站.
当我与我的朋友分享我的网站页面(不是主页)的网址时,当他在浏览器中输入时,它会自动将他重定向到登录页面.(这是正确的行为).当他输入用户名和密码时,它会重定向到主页,而不是我与他分享的网址.
我尝试Request.UrlReferrer.PathAndQuery在login.aspx上使用.
仅当用户有意退出系统时,它才有效.
基本上,我想通过邮件或其他东西分享链接(url),用户将打开它,如果他还没有登录,他会要求登录,一旦登录浏览器将显示他从网址的页面,而不是主页.