2012-08-29 93 views
1

我對MVC和網站開發非常新穎。我需要傳遞一個令牌,我已經有了,然後文件名和文件,我試圖擺脫<input type="file" id="theFile"/>,然後還需要日期。一旦我可以將這個信息放入主控制器,我可以使用C#,然後我知道發生了什麼事情。但目前我不確定我是否在正確的道路上。傳遞信息從<input type =「file」id =「theFile」/>通過另一個按鈕onclick?

如何將這些值通過按鈕傳遞給控制器​​?

在我看來:

<input type="file" id="theFile"/> 
<br> 
<button type="button" onclick="Upload(token = Model.Token, fileName = theFile.Value.tostring(), modDate = date.now, file = theFile.value);" >Upload file to the website</button> 

在HomeControler:

public ActionResult Upload(string token, string filename, string moddate, object file) 
      { 

      } 

回答

1

你不從HTML直接調用你的控制器的操作方法。如果您正在上傳數據,則執行此操作的標準方法是將表單發佈到服務器。

所以你在你的視圖中有一個文件輸入,看起來你可能需要一個包含該令牌的隱藏字段,或者從一個cookie獲取它,這取決於你的實現。

您需要確保在您的視圖中有<form>;在MVC你會做這樣的事情

@using (Html.BeginForm("yourControllerName", "Upload")) 
{ 
    all your form elements here 
} 

最後加一個[HttpPost]屬性您Upload操作方法。 MVC將負責將您的表單元素映射到Upload的參數。

+0

你在哪裏說你在這裏形成元素,是我的標籤去或我的變量?我不確定? – Pomster

+0

@Pommy我的意思是你的標籤,所以像'' –

+0

這樣的東西謝謝,所以應該在

另一個按鈕我應該改爲提交?並將它放在表單的旁邊或保存在裏面? – Pomster

相關問題