【问题标题】:C# MVC 4 Call Void using Javascript in ControllerC# MVC 4 在控制器中使用 Javascript 调用 Void
【发布时间】:2017-03-15 08:03:17
【问题描述】:

我在 MVC4 学习了几个星期是全新的,我想问如何从 ViewController 调用 Public Void,最好的调用程序是什么?使用 JavaScript?还是Html.Action

这是我的动作控制器代码:

[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();">

【问题讨论】:

  • 你想从JS调用函数吗?你需要同样的 ajax 调用
  • 嗯,我是 JS 的新手,先生,我不知道怎么做,我来自 windows 窗体
  • 你应该通过 JQuery AJAX 调用 Have a look here. 调用你的控制器 actionMethod
  • 我可以从 Button 访问 JS 函数,但从 JS 函数到静态字符串 SearchAd 我无法访问它
  • JS 函数对静态字符串 SearchAd 不起作用 :(

标签: javascript c# asp.net-mvc-4


【解决方案1】:

这样就可以正常工作了:

[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
      });

【讨论】:

  • 我会试试的先生
猜你喜欢
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 1970-01-01
  • 2019-10-25
  • 1970-01-01
  • 1970-01-01
  • 2018-06-18
相关资源
最近更新 更多