2010-12-01 65 views
0

我想學習MVC 3和Razor來自ASP.NET背景。MVC 3 - 發佈部分視圖到選定的控制器

我想獲得一個簡單的局部視圖(在共享文件夾中)發佈到特定的控制器,以便我可以在其他地方重新使用它,例如文章,博客等。我嘗試使用以下變體。

@using (Html.BeginForm("Create", "Comment", FormMethod.Post, new { })) 
{ 
    <div> 
     <fieldset> 
      <legend>Comments</legend> 

      <div > 
       @Html.LabelFor(m => m.Name) 
       @Html.TextBoxFor(m => m.Name)    
      </div> 

      <div > 
       @Html.LabelFor(m => m.Email) 
       @Html.TextBoxFor(m => m.Email)    
      </div> 

      <div > 
       @Html.LabelFor(m => m.Body) 
       @Html.TextBoxFor(m => m.Body)    
      </div> 

      <p> 
       <input type="submit" value="Create" /> 
      </p> 
     </fieldset> 
    </div> 
} 

這不發佈到評論控制器操作創建如下所示。

[HttpPost] 
public ActionResult Create() 
{ 
    // Save comment code here 

    return View(); 
} 

有沒有簡單的方法來做到這一點,而不必綁定到特定的路線?

+0

HTML源代碼生成的表單是什麼樣的?點擊提交按鈕後會發生什麼? – mlibby 2010-12-01 20:52:21

回答

1

我找到了答案。

@using (Ajax.BeginForm("Create", "Comment", new AjaxOptions() { 
     UpdateTargetId = "MainContainer" })) 
{ 
    <div> 
     <fieldset> 
      <legend>Comments</legend> 

      <div > 
       @Html.LabelFor(m => m.Name) 
       @Html.TextBoxFor(m => m.Name)    
      </div> 

      <div > 
       @Html.LabelFor(m => m.Email) 
       @Html.TextBoxFor(m => m.Email)    
      </div> 

      <div > 
       @Html.LabelFor(m => m.Body) 
       @Html.TextBoxFor(m => m.Body)    
      </div> 

      <p> 
       <input type="submit" value="Create" /> 
      </p> 
     </fieldset> 
    </div> 
} 

本帖回覆使用ajax並且不會更改網址。或者你可以用這種方式使用JQuery http://jvance.com/blog/2010/02/20/MakingAnAjaxFormWithJQueryInASPdotNETMVC.xhtml

相關問題