MVC 3 Razor-在Ajax请求中访问ViewData(Jquery,JavaScript)
我正在编写一些代码,用户可以在提交表单之前检查数据库中是否已经存在用户名。这是通过onkeyup事件处理程序实现的,它从文本框中获取值并将其传递给ajax请求,ajax请求使用字符串参数调用我的ActionResult方法。我的SQL逻辑工作正常,我收到一个值,表示已经存在或不存在 我遇到的问题来自我的控制器,我想返回值。在Jquery Ajax请求的成功部分,我试图访问我的ViewData[索引名],但我的警报显示一个空字符串 Javascript代码: C控制器代码: 我做错了什么?欢迎提出任何建议。尝试以下方法: 更改:MVC 3 Razor-在Ajax请求中访问ViewData(Jquery,JavaScript),jquery,ajax,asp.net-mvc-3,razor,viewdata,Jquery,Ajax,Asp.net Mvc 3,Razor,Viewdata,我正在编写一些代码,用户可以在提交表单之前检查数据库中是否已经存在用户名。这是通过onkeyup事件处理程序实现的,它从文本框中获取值并将其传递给ajax请求,ajax请求使用字符串参数调用我的ActionResult方法。我的SQL逻辑工作正常,我收到一个值,表示已经存在或不存在 我遇到的问题来自我的控制器,我想返回值。在Jquery Ajax请求的成功部分,我试图访问我的ViewData[索引名],但我的警报显示一个空字符串 Javascript代码: C控制器代码: 我做错了什么?欢迎提出
ViewData["Username"] = output;
为此:
ViewData["UserName"] = output;
试试这个:
更改:
ViewData["Username"] = output;
为此:
ViewData["UserName"] = output;
ASP.NET:
JS:
ASP.NET:
JS:
成功了!我确实需要稍微更改javascript。有一个输入错误,用户名不全是小写,但除此之外,它工作得非常好。谢谢成功了!我确实需要稍微更改javascript。有一个输入错误,用户名不全是小写,但除此之外,它工作得非常好。谢谢
public JsonResult UsernameSearch(string username)
{
string output = DAL.usernameSearch(username);
return Json(new
{
Html = PartialView("~/Views/Partial/_txtUsernameSearch.cshtml"),
Username = output
});
}
$.ajax({
url: '@Url.Action("UsernameSearch", "UserManager")',
type: "POST",
async: true,
dataType: "json",
data: "username=" + filters.username,
success: function (data) {
var html = data.Html;
var str = data.Username;
alert(str);
$('#txtUsernameExists').val(str);
configureGui();
jQueryTableStyling();
},
error: function (data) {
}
});