Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将选项值发送到视图上的全局变量_C#_Html_Linq_Html Select - Fatal编程技术网

C# 将选项值发送到视图上的全局变量

C# 将选项值发送到视图上的全局变量,c#,html,linq,html-select,C#,Html,Linq,Html Select,我试图将javascript上的下拉列表的值发送到同一视图中的变量,目的是我想使用所选选项的值在另一个下拉选项中生成if语句,我不知道还有其他方法可以实现这一点 这是我的JavaScript $'sel0'。关于'change',函数{ dataTable.columns'.fechas'.searchthis.value.draw; 日期=$this.val; }; 在浏览器中呈现视图后执行服务器代码的方式有: Form post,进行计算,重新渲染视图 对动作方法进行Ajax调用,将所选日

我试图将javascript上的下拉列表的值发送到同一视图中的变量,目的是我想使用所选选项的值在另一个下拉选项中生成if语句,我不知道还有其他方法可以实现这一点

这是我的JavaScript

$'sel0'。关于'change',函数{ dataTable.columns'.fechas'.searchthis.value.draw; 日期=$this.val;
}; 在浏览器中呈现视图后执行服务器代码的方式有:

Form post,进行计算,重新渲染视图 对动作方法进行Ajax调用,将所选日期作为数据传递,在动作方法中处理逻辑并返回结果。在成功时,提取您的输入或用收到的响应填充其值。
查找您需要的选项的示例有很多。

razor视图中的C代码在服务器上执行并生成标记,并将返回到浏览器。选择元素更改事件上的客户端js代码稍后在客户端发生。所选选项的值不能用于再次在razor中执行某些代码

你有两个选择

使用所选选项的querystring值重新加载页面

当用户选择日期时,重新加载页面并将所选项目作为查询字符串传递。这意味着您需要更新当前的GET action方法以接受此param值,然后使用此值进行筛选

public ActionResult Index(DateTime? date)
{
   YourViewModel vm = new ViewModel();
   if(date!=null)
   {
     //Do your filtering based on the date.Value.
   }
   return View(vm);
}
当用户更改下拉列表时,使用选择选项值重新加载页面

$('#sel0').on('change', function () {
   window.location.href="@Url.Action("Index","Home")?date="+$(this).val();
});
阿贾克斯

您可以对执行过滤器的服务器进行ajax调用,并返回部分视图,然后将其注入DOM

$('#sel0').on('change', function () {
   $("#InputContainer").load("@Url.Action("GetDynamicInputs","Home")?date="+$(this).val());
});
现在确保在主页中有一个container div,我们将使用Id InputContainer向其中加载动态数量的输入

并有一个操作方法来接受日期,并根据传递的日期值使用过滤器返回局部视图

public ActionResult GetDynamicInputs(DateTime date)
{
  //use the date to determine the markup you want return from your partial view
  return PartialView();
}

你的C代码在客户端的js代码之前在服务器上执行,我知道这就是为什么我问是否有人知道更好的方法,或者是否存在一个wa来做这件事