我对 MVC4 学习了几周了,我想问如何从 View
调用 Public Void
到 Controller
并最好的调用程序是什么?使用JavaScript?或Html.Action
?
这是我在操作 Controller 中的代码:
[HttpPost]
[AcceptVerbs(HttpVerbs.Post)]
public static string SearchAd(string LoginName = "")
{
string x = "Not Found";
DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://lbcone");
DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.Filter = string.Format("(&(SAMAccountName={0}))", LoginName);
var user = directorySearcher.FindOne();
if (user != null)
{
x = "Found";
}
return x;
}
这是我的 Javascript 代码,它有一个错误:
<script type='text/javascript'>
function SetValue(ctl, event) {
event.preventDefault();
var LoginName = document.getElementById('_LoginName').value;
var x = SearchAd(LoginName);
alert(x);
}
</script>
这是我的“查看”按钮:
button type="button" onclick="SetValue();">
最佳答案
这样就可以正常工作:
[HttpPost]
[AcceptVerbs(HttpVerbs.Post)]
public static ActionResult SearchAd(string LoginName = "")
{
string x = "Not Found";
DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://lbcone");
DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.Filter = string.Format("(&(SAMAccountName={0}))", LoginName);
var user = directorySearcher.FindOne();
if (user != null)
{
x = "Found";
}
return Json(x, JsonRequestBehavior.DenyGet);
}
用于调用此操作方法的 JQuery 脚本:
var LoginName = document.getElementById('_LoginName').value;
var requestData = {
LoginName :LoginName
};
$.ajax({
url: '/ControllerName/SearchAd',
type: 'POST',
data: JSON.stringify(requestData),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
error: function (xhr) {
alert('Error: ' + xhr.statusText);
},
success: function (result) {
alert(result);
},
async: true,
processData: false
});
关于javascript - C# MVC 4 在 Controller 中使用 Javascript 调用 Void,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42804055/