C#.Net从表单帖子中读取字符串输入
本文关键字:读取 字符串 输入 Net 表单 | 更新日期: 2023-09-27 18:27:09
我是C#.net的新手。我在客户端做一个表单发布,它将csv发布到我的控制器
在我的控制器中,我无法读取该值。我的目标是最终创建一个csv文件,因此我避免了ajax帖子。我在表单上的操作指向正确的Url,并将输入附加到表单中。
我的客户端上有这样的东西
WatchList_Class.prototype.Downloads1 = function(csv) {
var input = '<input type= "text" id="uploadCsv" name="uploadCsv" value=""' + csv + ' />';
$('form#uploadCSV').append(input);
$('form#uploadCSV').submit();
};
在控制器一侧,我有
public ActionResult ExportCSVFile(string data) //Im getting data as null
{
string toReturn = Server.UrlDecode(data);
return File(System.Text.Encoding.UTF8.GetBytes(toReturn), "text/csv", "exportedData.csv");
}
我得到的字符串数据为null;
谁能指出我做错了什么吗。提前感谢
尝试使用此操作方法:
[HttpPost]
public ActionResult ExportCSVFile(HttpPostedFileBase uploadCsv)
{
uploadCsv.SaveAs("exportedData.csv");
}
(还要注意,在您的代码中,参数data
的名称与输入控件uploadCsv
的名称不匹配)
您的参数必须与POST变量的名称相匹配。因此,使用uploadCsv:代替数据
[HttpPost]
public ActionResult ExportCSVFile(string uploadCsv)
{
string toReturn = Server.UrlDecode(data);
return File(System.Text.Encoding.UTF8.GetBytes(toReturn), "text/csv", "exportedData.csv");
}
您在上传表单上设置了编码类型吗?
enctype="multipart/form-data"
最可能的原因是您的数据ID和ExportCSVFile处理程序中参数的名称不匹配。使用Fiddler检查实际发布到您页面的内容。