【发布时间】:2014-08-07 15:13:04
【问题描述】:
这应该很容易,但我不知道该怎么做。我有一个文本框,用户将在其中键入要搜索的名称。然后,用户必须提供一些附加信息,例如从下拉列表中选择该人居住的州。选择州后,我正在做一个 Ajax 帖子以获取该州内的城市列表。问题是,一旦加载了城市,我就丢失了在文本框中输入的值。我怎样才能使这个文本框持久化,这样我就不会失去价值?
function ValueSelected(state, city, zip) {
var SelectedState = state;
var SelectedCity= city;
var ZipCode= zip;
if (SelectedState.length > 0) {
// var url = '@Url.Action("SetState", "FindPerson")';
$.ajax({
url: '@Url.Action("SetState", "FindPerson")',
type: 'POST',
datatype: 'text',
data: { "SelectedState": SelectedState, "SelectedCity": SelectedCity, "ZipCode": ZipCode},
cache: false,
// contentType: 'application;text;charset=UTF-8',
success: function (e) {
window.location.href = window.location.href;
},
error: function (e) {
alert('error');
}
});
}
}
2014 年 8 月 7 日更新:
我编写了一个函数,当用户从下拉列表中选择某些内容时,该函数会将文本框值添加到 cookie。然后,我检查 cookie 以查看加载页面时 cookie 中是否有内容。我将 cookie 设置为 30 分钟后过期。
function setCookieInfo(name, value) {
if (name != null && name != "") {
setCookie(name, value, 24);
}
}
【问题讨论】:
-
尝试注释掉window.location.href = window.location.href,我会说这会重新加载您的页面并且您的价值会丢失
-
我将 IEnumerable
和 IEnumerable 添加到 ViewBag。如果我不进行刷新,我将无法看到它们。 -
成功函数中的参数将包含您从操作返回的任何内容,甚至是部分视图,例如stackoverflow.com/questions/3490059/…
标签: c# asp.net asp.net-mvc-3