簡體   English   中英

將來自JavaScript函數的數據作為對象參數傳遞給@ Html.Action()C#

[英]Pass data from JavaScript function as an object parameter to @Html.Action() C#

這是我想要做的。 我希望能夠調用html動作並將一些數據作為對象參數傳遞。 唯一的事情是此數據需要從javascript函數返回。

這是我正在嘗試做的事情:

 @Html.Action("someAction", "someController", new { passedData = GetDropDownData() }) <script> function GetDropDownData() { var data = "test"; return data; } </script> 

基本上,我試圖將一些下拉數據從控件傳遞到使用@ Html.Action()呈現的局部視圖。 我希望能夠以某種方式將此字符串傳遞給局部視圖,所以我想我可以使用JS提取下拉數據並在呈現頁面時將其作為對象參數返回?

讓我知道您是否有任何建議或更好的方法。

謝謝!

這是不可能的,因為剃刀視圖是在服務器端編譯的,而javascript是客戶端。 因此,視圖已被編譯,而javascript在運行時運行。 一種方法是使用ajax將javascript中的變量作為查詢參數或主體值傳遞給控制器​​中的操作。 您可以通過創建按鈕或鏈接來實現:

<a href='#' id='clickMe'>Click me</a>

並連接jQuery完成這項工作:

<script>
$(document).ready(function(){

   $('#clickMe').click(function(){

      $.ajax({
         type: "POST",
         url: '@Url.Action("Action", "Controller")',
         data: {
            passedData: GetDropDownData()
         },
         success: function(response){
             $('#placeholderForPartialView').html(response);
         }
      });
   });
});
</script>

根據您的方法(GET或POST)類型,它看起來像這樣。 在這里,我假設您返回部分視圖,並將返回的視圖替換#placeholderForPartialView div的內容。 如果我錯了,請糾正我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM