2011-02-04 22 views
0

嘿... 如何將ViewUserControl提交按鈕的ID發送到控件後置動作?當我有普通視圖我可以寫這樣的事:mvc-System.Web.Mvc.ViewUserControl

[HttpPost] 
public ActionResult KontaktIzabran(string myId) 
{ 
    //some code 

} 

現在身份識別碼是alwasy空.... 這裏是我的用戶

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<KontaktModel>" %> 
<%@ OutputCache Duration="1200" VaryByParam="*" %> 
<div id="sign-in-pop" class="popup">  
<div class="modal fat-form"> 
    <div class="clipper"> 
     <div class="left"></div> 
     <div class="content">Sign In</div> 
     <div class="right"></div> 
    </div>      
    <% Html.BeginForm("IzborKontaktaPopUp", "Kontakt"); %> 
     <%: Html.ValidationSummary(true) %> 
     <div class="editor-field"> 
      <%: Html.TextBoxFor(model => model.Naziv)%> 
      <%: Html.ValidationMessageFor(model => model.Naziv) %> 
      <input type="submit" value="Traži" name="submitButton" id="submitButton" /> 
      <input type="submit" value="Dodaj novi" name="noviKontakt" /> 
     </div> 
    <% Html.EndForm(); %> 
</div>  
</div> 

+0

你能證明你的觀點/用戶控件? – Paul 2011-02-04 23:05:39

回答

0
[HttpPost] 
public ActionResult KontaktIzabran(string myId, string noviKontakt) 
{ 
    if (!string.IsNullOrEmpty(noviKontakt)) 
    { 
     // <input type="submit" value="Dodaj novi" name="noviKontakt" /> 
     // was used to submit the form 
    } 
    else 
    { 
     // <input type="submit" value="Traži" name="submitButton" id="submitButton" /> 
     // was used to submit the form 
    } 

    ... 
} 
+0

我試過這個,但是兩個字符串都是null,沒有哪個按鈕被點擊過。這個工程,當我剛剛查看,但當我使用UserContol傳遞的值始終爲空:( – Cipiripi 2011-02-05 10:05:49

0

那麼它看起來像你不要沒有一個名爲「myId」的表單字段,所以提交無法將其發送回控制器。相反,它會發送回包含這些當前值的FormCollection:

<%: Html.TextBoxFor(model => model.Naziv)%> 
<input type="submit" value="Traži" name="submitButton" id="submitButton" /> 
<input type="submit" value="Dodaj novi" name="noviKontakt" />