我有一个带有AJAX调用的Razor视图,它跳过了它。我在控制器方法上有一个调试断点。我永远不会到那里。另外,Alert iin启动脚本甚至都不会执行。
在这种情况下,我尝试将脚本移到第一段之前。没变化。
查看代码:
它进入switch语句-“ New”情况,但不执行Ajax调用。在调试中,它命中@Session [“ UserName”],然后中断。
@Scripts.Render("~/bundles/jquery")
@Styles.Render("~/Content/css")
@switch (@Session["NavState"])
{
case "New":
<br />
<p>Hi <span class="username">@Session["UserName"]</span> !</p>
<br />
<p> I'm so glad you decided to join us. Feel free to look around.</p>
<script type="text/javascript">
$.post("UserProfile/SetSessionVar", { variable = "NavState" }, function () { });
</script>
break;
case "Exists":
<br />
<p>Welcome back <span class="username">@Session["UserName"]</span> !</p>
<br />
<script type="text/javascript">
$.post("UserProfile/SetSessionVar", { variable = "NavState" }, function () { });
</script>
break;
default:
break;
}
<script type="text/javascript">
$(document).ready(function ()
{
Alert("here");
});
</script>
我尝试将$ .post更改为$ .ajax。没变化。
<script type="text/javascript">
function SetSessionVar() {
$.ajax({
type: "POST",
url: "UserProfile/SetSessionVar",
data: '{variable: "NavState"}',
contentType: "application/json; charset=utf-8",
dataType: "json"
});
</script>
控制器方式:
public void SetSessionVar(string variable)
{
if (variable == "NavState")
{
Session["NavState"] = "x";
}
}
Bundle.config:
using System.Web.Optimization;
namespace GbngWebClient
{
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css",
"~/Content/validation.css"));
}
}
}
启动警报代码失败,因为它是大写A而不是小写a。然后我的$ .post在语法上是不正确的。应该是:$ .post(“ UserProfile / SetSessionVar”,{变量:“ NavState”});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句