2013-02-20 46 views
0

我有一個cshtml頁面,我要求用戶提供一些輸入數據,然後我需要連接成一個字符串以在我的控制器中構建動態LINQ查詢。該視圖不使用模型。這是我的HTML代碼到目前爲止。連接來自多個輸入文本框的字符串

<div id="filter"> 
Enter a customer name. It can be a part of a name to get broader results. (optional) 
<br /> 
<input type="text", id="customer", value="") /> 
<br /> 
Enter a case status (OPEN or CLOSED), or leave blank to get both. (optional) 
<br /> 
<input type="text", id="status", value="") /> 
<br /> 
Enter a date range to filter by date. (optional) 
<br /> 
Start Date 
<input type="text", id="startdate", value="") /> 
End Date 
<input type="text", id="enddate", value="") /> 
<br /> 
Enter a PromoID (optional) 
<br /> 
<input type="text", id="promoid", value="") /> 
<br /> 
Enter a Complaint Code (optional) 
<br /> 
<input type="text", id="complaintcode", value="") /> 
</div> 

@Html.ActionLink("Export Case Data To Excel for Analysis", "CaseReport", "Reports", "Excel", new { stringFilter = mystring }) 

控制器動作具有稱爲stringFilter字符串參數。 我基本上需要建立一個字符串過濾器並將其傳遞給控制器​​。我正在使用動態Linq查詢庫。

如何從DOM獲取字符串值?

+0

不要仍然得到你的問題..你需要什麼? request.Form給你什麼?你需要文本框的值還是什麼? – gaurav 2013-02-20 12:59:26

+1

可能重複? [如何從HTTPPOST中檢索表單值](http://stackoverflow.com/q/5088450/211627)(之後,您只需以正常方式連接字符串:'「foo」+「bar」') – JDB 2013-02-20 13:23:31

+0

@gaurav我基本上需要從文本框的值中創建一個字符串,我可以發送到ActionLink中的控制器動作。我收集的文本框應該包裹在一個表單中?我什麼時候可以使用request.Form? – Ryan 2013-02-20 17:59:09

回答

1

的一件事,你所能做的就是將它們串聯所有按鈕單擊事件處理程序,somethingk如..

$('#form-input-submit-button').click(function() { /* do it here & then submit. */ }); 

但我建議你在你的MVC控制器的操作方法,有你需要的所有參數

[HttpPost] 
public void CaseReport(string promoId, string coplaintCode, ...) { } 

或者更好的強類型模型

public class ReportModel 
{ 
    public string PromoId { get; set; } 
    public string ComplaintCode { get; set; } 
    ... 
} 

所以你可以只:

[HttpPost] 
public void CaseReport(ReportModel model) { /* Validate ModelState */ } 

其實,在MVC縮寫的模式是你所需要的。

而且你可以做

[HttpPost] 
public void CaseReport(FormCollection form) 
{ 
} 

要查看所有傳入的數據。

+0

非常好的一點。讓我亂搞一下。 Thx – Ryan 2013-02-20 18:11:33

+0

因此,如果我創建視圖模型,我可以將文本框與Razor綁定,然後將該模型傳遞迴控制器操作?我真的不需要這種方法的表單對象嗎? – Ryan 2013-02-20 18:29:11

+0

@瑞恩的權利。只需要''元素,其名稱對應於view-model的屬性名稱。 – AgentFire 2013-02-20 19:26:07

相關問題