1

我对 MVC 和 Web 开发非常陌生。我需要传递一个我已经拥有的令牌,然后是我试图下车的文件名和文件,<input type="file" id="theFile"/>然后还需要日期。一旦我可以将这些信息输入 Home 控制器,我就可以使用 C#,然后我就知道发生了什么。但目前我不确定我是否走在正确的道路上。

我如何通过按钮将这些值传递给控制器​​?

在我看来:

<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)
            {

            }
4

1 回答 1

1

您不会直接从 HTML 调用控制器的操作方法。如果您要上传数据,执行此操作的标准方法是将表单发布到服务器。

因此,您的视图中有一个文件输入,看起来您可能需要一个包含令牌的隐藏字段,或者从 cookie 中获取它,这取决于您的实现。

你要确保你有一个<form>在你的视野中;在 MVC 中你会做类似的事情

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

最后为您的操作方法添加一个[HttpPost]属性。UploadMVC 将负责将您的表单元素映射到Upload的参数。

于 2012-08-29T08:27:20.600 回答