Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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# 获取HTML Dropdownlist Razor网页中的选定项_C#_Html_Razor_Asp.net Webpages - Fatal编程技术网

C# 获取HTML Dropdownlist Razor网页中的选定项

C# 获取HTML Dropdownlist Razor网页中的选定项,c#,html,razor,asp.net-webpages,C#,Html,Razor,Asp.net Webpages,我在计算如何返回HTML.DropDownList中的所选项目时遇到了一些困难,因此在点击提交按钮时,将在数据库中查找所选项目文本。以下是我所拥有的: @{ var selectStaff = "Select LastName + ', ' + FirstName AS Name, StaffID From StaffList ORDER BY LastName"; var data = db.Query(selectStaff); var items = data.Select(i =>

我在计算如何返回HTML.DropDownList中的所选项目时遇到了一些困难,因此在点击提交按钮时,将在数据库中查找所选项目文本。以下是我所拥有的:

@{
var selectStaff = "Select LastName + ', ' + FirstName AS Name, StaffID  From StaffList ORDER BY LastName";
var data = db.Query(selectStaff);
var items = data.Select(i => new SelectListItem {
    Text = i.Name
  });
}
然后在html中

@Html.DropDownList("Select1", items)

这很好,因为我的dropdownlist正在出现并填充,但现在点击提交按钮后,我希望能够在数据库中搜索所选项目的文本。我该怎么做呢?

如果您不将下拉列表绑定到视图模型上的属性(最好是这样),您仍然可以在控制器操作中使用
Request.Form[“Select1”]
获得它

如果您的意思是希望能够在razor页面上获取值,则需要使用(或其他javascript)来获取值

要使用jQuery获取值,请执行以下操作:

$(document).ready(function () {
     $("#YourSubmitButtonID").click(function () {
         // Get the value from 'Select1'
         var value = $("#Select1").val();
     });
});
要处理该值,必须使用ajax函数,如下所示:

$.ajax({
    url: '@Url.Action("ActionName", "ControllerName")',
    data: { valueToQuery: $("#Select1").val() },
    success: function (data) {
       // The data is the result
    }
});
在本例中名为ControllerName的控制器上,您将拥有查询数据库并返回结果的代码

public ActionResult ActionName(string valueToQuery)
{
     // Do your stuff here
    return Json("your result", , JsonRequestBehavior.AllowGet);
{

如果您没有将下拉列表绑定到视图模型上的属性(最好是这样),您仍然可以在控制器操作中使用
Request.Form[“Select1”]
获得它

如果您的意思是希望能够在razor页面上获取值,则需要使用(或其他javascript)来获取值

要使用jQuery获取值,请执行以下操作:

$(document).ready(function () {
     $("#YourSubmitButtonID").click(function () {
         // Get the value from 'Select1'
         var value = $("#Select1").val();
     });
});
要处理该值,必须使用ajax函数,如下所示:

$.ajax({
    url: '@Url.Action("ActionName", "ControllerName")',
    data: { valueToQuery: $("#Select1").val() },
    success: function (data) {
       // The data is the result
    }
});
在本例中名为ControllerName的控制器上,您将拥有查询数据库并返回结果的代码

public ActionResult ActionName(string valueToQuery)
{
     // Do your stuff here
    return Json("your result", , JsonRequestBehavior.AllowGet);
{
我也发现了非常有趣的东西,可能会帮助你

如果不想使用Ajax或Json策略,还可以尝试以下步骤:

var sql = "SELECT ProductId, ProductName FROM Products";
var data = Database.Open("Northwind").Query(sql);
var items = data.Select(i => new SelectListItem {
    Value = i.ProductId.ToString(),
    Text = i.ProductName
});


@Html.DropDownList("productid", items)
而且:

var sql = "SELECT ProductId, ProductName FROM Products";
var data = Database.Open("Northwind").Query(sql);

<select name="productid">
@foreach(var row in data){
    <option value="@row.ProductId">@row.ProductName</option>
}
</select>
var sql=“从产品中选择产品ID、产品名称”;
var data=Database.Open(“Northwind”).Query(sql);
@foreach(数据中的var行){
@row.ProductName
}
我还发现了非常有趣的东西,可能会帮助您

如果不想使用Ajax或Json策略,还可以尝试以下步骤:

var sql = "SELECT ProductId, ProductName FROM Products";
var data = Database.Open("Northwind").Query(sql);
var items = data.Select(i => new SelectListItem {
    Value = i.ProductId.ToString(),
    Text = i.ProductName
});


@Html.DropDownList("productid", items)
而且:

var sql = "SELECT ProductId, ProductName FROM Products";
var data = Database.Open("Northwind").Query(sql);

<select name="productid">
@foreach(var row in data){
    <option value="@row.ProductId">@row.ProductName</option>
}
</select>
var sql=“从产品中选择产品ID、产品名称”;
var data=Database.Open(“Northwind”).Query(sql);
@foreach(数据中的var行){
@row.ProductName
}