2012-01-29 90 views
0

我有一個場景,我需要一些代碼設置時控件呈現。我有一個要在多個頁面中使用稱爲QuickRate一個小部件:@ Html.RenderAction與Ajax窗體ASP.NET Mvc3 c#

我想這樣稱呼它在我CSHTML文件:

<div class="dragbox" id="quick-rate"> 
<h2>Retrieve a Quick Rate</h2> 
@Html.Action("Create", "QuickRate") 
</div> 

,然後在上的創造QuickRateController.cs我:

public ActionResult Create() 
{ 
var model = new QuickRateModel(); 
    model.Products = currentUser.GetProducts(dataRepository).ToSelectList(p => p.ProductId, p => p.ProductName); 
return View("QuickRateResult", model); 
} 

然後我有一個包含以下內容的QuickRatePartial.cshtml文件:

@model Project.Web.Models.QuickRateModel 

@{ 
    Layout = ""; 
    AjaxOptions options = new AjaxOptions() 
    { 
     HttpMethod = "Post", 
     UpdateTargetId = "quick-rate-content" 
    }; 
} 
<div class="clearfix"> 
    @using (Ajax.BeginForm("GetQuickRate", "QuickRate", null, options, new { @id="quick-rate-form" })) 
{ 
     <fieldset> 
      @Html.DropDownListFor(model => model.ProductId, Model.Products) 
      @Html.ValidationMessageFor(model => model.ProductId) 
     <select data-val="true" name="DropDown1" data-bind=" 
           options: Items1, 
           optionsText :'ItemName', 
           value: SelectedName 
           "> 
          </select> 

     <select data-val="true" name="DropDown2" id="DropDown2" data-val-required="Please select an Item." data-bind=" 
     options: SelectedItem().MoreItems, 
     optionsText: 'Text', 
     optionsValue: 'Text', 
     value: MoreItem, 
     optionsCaption: 'Select One' 
     "></select> 
     <div class="clearfix"> 
      @Html.ValidationMessageFor(model => model.MoreItems) 
     </div> 
     <div> 
      <input type="submit" value="Get Quick Rate" /> 
     </div> 
     <div id="quick-rate-content"></div> 
     </fieldset> 
} 
</div> 

嘗試,因爲我可能無法得到表單渲染..只是想知道如果你有任何建議?

乾杯!

回答

3

您已命名文件quickratepartial.cshtml,但在查找名爲quickrateresult的視圖的操作中。它是否正確?