我有這種形式對我的看法: 上傳多個文件時如何獲取html標籤ID?
在我的控制,我有以下方法:
[HttpPost]
public ActionResult UploadFile(HttpPostedFileBase file)
{
// ...
}
我如何可以接收被點擊上載的文件輸入標籤的ID? (ID = 1個或ID = 2?
謝謝!
我有這種形式對我的看法: 上傳多個文件時如何獲取html標籤ID?
在我的控制,我有以下方法:
[HttpPost]
public ActionResult UploadFile(HttpPostedFileBase file)
{
// ...
}
我如何可以接收被點擊上載的文件輸入標籤的ID? (ID = 1個或ID = 2?
謝謝!
ID只用於識別頁面上的HTML元素,而不是提交到服務器上。如果你不需要操作客戶端上的數據,你甚至不需要指定ID,通過指定相同的名稱,可以「堆疊」的文件。
所以
<form action="/action" enctype="multipart/form-data" method="post">
<input name="file" type="file"></input>
<input name="file" type="file"></input>
</form>
在你的控制器,你收到的數組
[HttpPost]
public ActionResult UploadFile(HttpPostedFileBase[] file)
{
// ...
}
但如果用戶只上傳一個文件(只點擊一個輸入),那麼我不知道它是哪一個。我需要一些如何將輸入標籤的ID添加到請求或類似的東西.. –
<script src="INCLUDE JQUERY"></script>
<script>
$(function(){
$('input[type="file"]').click(){
$('#id').value = $(this).attr('id');
}
})
function fillId(){}
</script>
<form>
<input type="text" id="id" name="id"/>
<input type="file" id="file1"/>
<input type="file" id="file2"/>
<input type="Submit" value="submit"/>
</form>
*注這個夜晚不是最終的代碼,但你的想法
尼斯!但是,控制器將如何收到該ID? –
每當你點擊類型文件。類型文本將由id填充,因此它的值將以 –
的形式發佈。然後,我可以將字符串參數添加到控制器操作中? –
你不能; 'id'不發送。給他們不同的名字。 – Ryan
我認爲通常使用ID值作爲名稱值也是一個好主意,儘管名稱不必是唯一的。至少如果你遵循這個約定,那麼永遠不會對你的POST值中的哪個關鍵點產生任何困惑。 –
但這意味着我將有多個上傳操作 - 每個輸入標籤的操作。如果我有7個或更多標籤怎麼辦? –