2013-10-25 32 views
0

在剃刀視圖中,我有input type="text",一個隱藏字段和一個按鈕。我可以從表單集合中訪問隱藏的字段,但它的奇怪我不能訪問我的行爲中的值。我不確定我的理解是否正確,但我在想,因爲形式內的所有領域都應該在行動中可用。在表單提交中無法獲得輸入類型=「文本」值?

下面是我的代碼,請:

@using (Html.BeginForm()) 
    { 
    <div style="margin-top: 40px;"> 
    <input id="txtDateFrom" class="span2" size="16" value="@Model.StartDate.ToString("dd/MM/yyyy") " readonly="readonly" type="text"> 
    @Html.Hidden("currencyCode", (object)ViewBag.currencyCode) 
    </div> 
    <button onclick="@Url.Action("ExchangeRateDetails", "ExchangeRate")" class="btn btn-lg  span2 ARML50px"> 
    } 

我非常感謝您的時間,指導和幫助。

+0

向下投票?紳士可以請你指導爲什麼? – Toubi

回答

2

隱藏輸入的原因是您在Html幫助器@ Html.Hidden的幫助下進行渲染。此幫助程序使用name屬性呈現輸入字段。你的<input type="text">缺少name屬性。所以請嘗試這樣寫:

<input id="txtDateFrom" name="txtDateFrom" class="span2" size="16" value="@Model.StartDate.ToString("dd/MM/yyyy") " readonly="readonly" type="text" /> 

name =「txtDateFrom」將使該值出現在FormCollection中。

1

嘗試這種方式

你不需要onclick="@Url.Action("ExchangeRateDetails", "ExchangeRate")"的按鈕

更改按鈕下方的方式

<button type="submit" class="btn btn-lg span2 ARML50px"> 

,現在你的控制器可以得到輸入文本

[HttpPost] 
Public ActionResult ExchangeRateDetails(YourmodelClass xxx) 
{ 
string dates=Model.StartDate; 
} 

本網站有很多關於how to send a model values from view to controllers的回答,請參閱本頁右下角的相關討論。

+0

謝謝,這看起來很不錯,但不幸的是它不在這裏工作。在行動我能夠得到viewmodel對象,但其StartDate有價值model.StartDate = {1/1/0001 12:00:00 AM}這是錯誤的。你可以通過這種方法進一步瞭解嗎?謝謝 – Toubi

相關問題