2016-10-25 44 views
-1

MVC保存現場數據我使用MVC和我的索引視圖我已經把一個「EditorFor」和「DropDownFor」字段上進行數據錄入。我希望用戶輸入值,然後從視圖中'保存'記錄。不過,我在檢索輸入的數據時遇到問題。我曾嘗試創建一個ActionResult並綁定數據,但沒有發現任何內容。我已經嘗試給出字段id名稱並將它們作爲參數傳遞,並且再次傳遞任何內容。從視圖

這是我在我看來 -

<h3>Sensitive Areas</h3> 
@Html.HiddenFor(model => model.BurnSitesID, new { @id = "burnSitesID"}) 
<div class="form-group"> 
    @Html.LabelFor(model => model.SensitiveTypesID, "Sensitive Area", new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.DropDownList("SensitiveTypesID", string.Empty) 
     @Html.ValidationMessageFor(model => model.SensitiveTypesID, "", new { @class = "text-danger" }) 
    </div> 
</div> 

<div class="form-group"> 
    @Html.LabelFor(model => model.DistSensitiveArea, new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.EditorFor(model => model.DistSensitiveArea, new { @id = "distSensitiveArea" }) 

     @Html.ValidationMessageFor(model => model.DistSensitiveArea, "", new { @class = "text-danger" }) 

    </div> 

<input type="submit" id="CreateArea" value="Save"/> 

你會如何採取輸入的值,並將它們傳遞給控制器​​?我試過一個按鈕,但是如果我的按鈕沒有被命名爲與視圖完全相同的東西,它就不會執行任何操作。

+0

是你的表單內的輸入元素?提交表單時發生了什麼?處理表單提交的action方法是怎樣的? – Shyju

+0

您需要使用BeginForm助手或用HTML表單元素包裝表單。在你使用Ajax的情況下,你應該顯示你的JS代碼。 – Mark

+0

我添加了'(Html.BeginForm())',它仍然沒有帶來任何值。當我提交表單時,它的行爲就像是空的。這是使用以下的ActionResult - '公衆的ActionResult保存([綁定(包括=「SensitiveAreasID ,, DistSensitiveArea,BurnSitesID,SensitiveTypesID」)BurnSiteSensitiveAreaIndexData burnSiteSensitiveAreaIndexData)' –

回答

1

請使用Html.BeginForm( 「ActionName」, 「ControllerName」,FormMethod.Post)。

按鈕應提交類型。

如果你是使用文本框。

@Html.TextBoxFor("txtName", "", new { @class = "form-control", @maxlength = "50" }) 

<input type="submit" id="CreateArea" value="Save"/> 


[HttpPost] 
public ActionResult ActionName(FormCollection form) 
{ 
string Name=form["txtName"].ToString(); 
} 

其中Name是字段名稱的名稱/ ID。

謝謝。

+0

謝謝你Ronak。這工作完全像我在找的東西。 –