【问题标题】:MVC prompt on actionlink动作链接上的 MVC 提示
【发布时间】:2015-09-25 01:17:36
【问题描述】:

我找到了确认窗口的代码,但我想创建一个提示窗口并将用户提供的信息传递给控制器​​(不知道如何获取值并将其放入 routeValues :/ )。

它应该像这样工作:

  1. 用户点击操作链接
  2. 提示
  3. 控制器从提示符获取值

代码:

<%= Html.ActionLink(
"Add", 
"Add", 
new { id = item.foo}, 
new { onclick = "return confirm('foo');" }) %>

【问题讨论】:

    标签: javascript asp.net-mvc


    【解决方案1】:

    你好
    如果您在 MVC Control 中有一个操作,例如:

    public ActionResult SetOkReject(int? RequestId,string MSG="")
        {
          //. . .
        }
    

    将 ActionLink 转换为标签如下:

    <a href='#'  onclick = 'return Reject(@Model.ElementAt(I).ID)' 
    > Reject the request</a>
    

    并在 Javascript 中编写如下函数:

    <script>
     function Reject(RequestId)
       {
          var T = confirm(' Do you reject this request?');
          if (T)
          {
            var Prom = prompt("Please enter the reason for 
                rejecting the request", "");
    
              if (Prom == null || Prom == "") {
                  // nothing 
              } else {
    
    
                  var curl = ActRejext + '?RequestId=' + RequestId + '&MSG=' + Prom;
                  window.location.href = curl;
                  return true;                   
              }          
              return true;
          }
          return false;
      }
    </script>
    

    【讨论】:

      【解决方案2】:

      如果你只需要一个参数的提示,你可以在这里尝试使用Window prompt():http://www.w3schools.com/jsref/met_win_prompt.asp

      如果需要更多参数,可以试试bootstrap的Modal:http://www.w3schools.com/bootstrap/bootstrap_ref_js_modal.asp(最后一个例子)

      【讨论】:

      • 我知道如何使用提示。我只是不明白如何通过操作链接将数据发送到控制器。单击 ActionLink 时使用提示后,我将数据获取到 Javascript 中的变量,我不知道如何将其传递给控制器​​。
      • 你也试试google上的一些关键词,比如:“pass data from view to controller”,“pass data to controller via ajax”...
      • @Valium:您可以使用 $.ajax() (post) 将数据发送到控制器。我们这里有一个例子:stackoverflow.com/questions/8486132/… 因为,你使用 asp。 NET MVC,你需要一些改变: $.ajax({url: 'Controller/Action', type: 'POST', data: {para01: value01, para02: value02}, success: funnction() {...} } ) 注意:para01和para02需要和action的参数名称一致。
      猜你喜欢
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多