2016-01-25 131 views
0

我想將文本框的值發送到Action Method來搜索技術,以獲取Action中的文本框的值。如何在Action中獲取文本框的值在ASP.NET MVC 5

我有下面的代碼: -

@Html.TextBox("technologyNameBox", "", new { id = "technologyName", @class = "form-control", @placeholder = "Search For Technology" }) 

<span class="input-group-btn" style="text-align:left"> 
     <a class="btn btn-default" id="searchTechnology" 
     href="@Url.Action("SearchTechnology", "Technology", 
     new {technologyName="technologyName",projectId=ProjectId })"> 
      <span class="glyphicon glyphicon-search "></span> 
     </a> 
</span> 

問題: - 如何讓文本框 「technologyNameBox」 的值在行動?

請幫我一把。提前致謝!

回答

1

在指導用戶之前,您必須通過JavaScript將值附加到URL。使用jQuery(因爲一般都自帶ASP.NET封裝),它可能看起來像這樣(與空值或查詢字符串參數手冊條件檢查的好一點):

$('#searchTechnology').click(function (e) { 
    e.preventDefault(); 

    var url = '@Url.Action("SearchTechnology", "Technology", new { projectId=ProjectId })'; 
    var technologyName = $('#technologyName').val(); 

    if (technologyName.length < 1) { 
     // no value was entered, don't modify the url 
     window.location.href = url; 
    } else { 
     // a value was entered, add it to the url 
     if (url.indexOf('?') >= 0) { 
      // this is not the first query string parameter 
      window.location.href = url + '&technologyName=' + technologyName; 
     } else { 
      // this is the first query string parameter 
      window.location.href = url + '?technologyName=' + technologyName; 
     } 
    } 

    return false; 
}); 

的想法是,當用戶單擊該鏈接,您將獲取在input中輸入的值並將其作爲查詢字符串參數追加到URL中。然後將用戶重定向到新的修改的URL。

+0

不使用jQuery不能完成嗎? –

+0

@shivanisurana:當然。這個概念仍然是一樣的。響應鏈接的點擊事件,獲取「輸入」的值,將用戶引導至新的URL。這個代碼只在兩個地方使用jQuery,可以很容易地修改。 – David

+0

好的,謝謝,我會試試這個。 –

相關問題