人
我的ASP.NET MVC项目有一个视图。 此视图有很多字段和脚本来搜索某些数据。
<link href="@Url.Content("~/Content/styles/people.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/people.js")" type="text/javascript"></script>
<input type="hidden" id="selectiveAccess" name="selectiveAccess" value="@ViewBag.SelectiveAccess" />
<input type="hidden" id="peopleID" name="peopleID" value="@ViewBag.PeopleID" />
<div id="content">
<h1>People - Create</h1>
<h3>All the fields with (*) are required.</h3>
@using (Html.BeginForm("Save", "People", FormMethod.Post))
{
@Html.Partial("EnabledCourses")
@Html.Partial("GeneralData")
@Html.Partial("AddressData")
@Html.Partial("ContactData")
@Html.Partial("OtherInformations")
@Html.Partial("Research")
<a href="#top">Back to the top</a>
<div id="divErrors"></div>
<div id="actions">
<ul style="list-style: none;">
<li style="display: inline"><input type="reset" id="clear" style="height: 3em; width: 10em" value="Clear form" /></li>
<li style="display: inline"><input type="submit" id="continue" style="height: 3em; width: 10em" value="Continue" /></li>
</ul>
</div>
}
当我调用Index()时,脚本运行正常。
public ActionResult Index()
{
ViewBag.PeopleID = string.Empty;
return View();
}
当我调用Edit()时,相同的脚本不起作用。
public ActionResult Edit(long peopleID)
{
ViewBag.PeopleID = peopleID;
return View("Index");
}
这是剧本:
function searchCityByPostalCode() {
var postalCode = {
'postalCode': $('#postalCode').val()
};
$.get(
'people/SearchCityByPostalCode',
postalCode,
function (city) {
// do something that works.
}
);
}
有谁知道这个问题? 感谢!!!
答案 0 :(得分:1)
最有可能的原因是您使用的是相对链接。
索引允许你做这样的事情
然而,编辑会强制您使用第二种形式,因为没有默认路线值
这意味着当您在索引中调用get函数时,请求看起来像
编辑看起来像这是一条不同的路径
所以基本上你需要使用绝对引用,以便URL可以从站点的根目录起作用。
$.get(
'/people/SearchCityByPostalCode',
postalCode,
function (city) {
// do something that works.
}
);