2011-04-04 69 views
0

我試圖從JQuery的自動完成插件傳遞2個參數到一個ASP.Net MVC2動作,參見下面的腳本。控制器被命名爲EntityController,Action被命名爲AddSharedUser,它需要2個字符串,請參閱下面的操作。當我嘗試運行它時,它嘗試將「AddSharedUser」作爲單個參數傳遞,並失敗。任何想法,我錯了?從JQuery傳遞參數到一個ASP.Net MVC2動作自動完成

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" 
Inherits="System.Web.Mvc.ViewPage<UI.Models.FormModel.EntitySharedUserContainer>" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> 
Edit Entity Shared Users 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

<h2>Entity - <%= Model.EntityName%>, Edit Shared Users</h2> 
<ul class="entity-shared-users"> 
<% foreach (var item in Model.SharedUsersList) 
    { %> 
      <li> 
      <%: item.Name%> 
      <%: Html.ActionLink("Remove", "RemoveSharedUser", "Entity", 
       new { id = Model.EntityId, CustId = item.CustId }, null)%> 
      </li> 
<% } %> 
</ul> 
<form id="search_for_entity_user" method="get" action="<%= Url.Action("AddSharedUser",  "Entity") %>"> 
    <label for="term">Add Shared User:</label> 
    <%= Html.TextBox("term")%> 
</form> 

</asp:Content> 

<asp:Content ID="Content3" ContentPlaceHolderID="Notify" runat="server"> 
</asp:Content> 

<asp:Content ID="Content4" ContentPlaceHolderID="PageTitle" runat="server"> 
</asp:Content> 

<asp:Content ID="Content5" ContentPlaceHolderID="JavaScriptContent" runat="server"> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $("form#search_for_entity_user input#term").autocomplete({ 
     source: '<%= Url.Action("GetEntitySharedUsers", "Search") %>', 
     delay: 200, 
     minLength: 3, 
     select: function (event, ui) { 
      $.post('<%= Url.Action("AddSharedUser", "Entity") %>', 
      { id: '42', name: 'Russ' }, 
      function (data) { alert("x"); }) 
     } 
    }); 
}); 
</script> 

</asp:Content> 

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult AddSharedUser(string id, string name) 
{ 
    //Trying to use the parameters here 

    return View(); 
} 
+0

e POST身體看起來像?我看不出你的代碼有什麼問題。我不明白你的問題是什麼參數被髮送到這個動作,什麼是錯誤的。 – 2011-04-04 14:34:48

+0

Darin,我不確定你想要什麼,所以我已經把整個頁面複製到帖子中。 – 2011-04-04 14:59:26

回答

2

投遞槽的jQuery/AJAX,你必須張貼的,

'<%= Url.Action("AddSharedUser", "Entity") %>' + 'id=42&name=Russ' 

不完全知道什麼^彌補,所以如果它不工作的嘗試:

'/Entity/AddSharedUser?id=42&name=Russ' 

或嘗試指定UrlAction中的參數

'<%= Url.Action("AddSharedUser", "Entity", new { id = "42", name = "Russ" }) %>'