Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.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的值_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# 获取Html.DropDownList的值

C# 获取Html.DropDownList的值,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我目前在MVC项目的Razor视图中有以下代码:Item code:@Html.DropDownList(“ItemID”,(SelectList)ViewBag.Items) 我想稍后在Razor视图中的@Ajax.ActionLink中访问下拉列表的值。是否有方法访问视图中下拉列表的值??使用JQuery获取当前选定的值- $('#dropDownId').val(); 使用JQuery获取当前选定的值- $('#dropDownId').val(); 如果您没有一个特殊的库(如jQue

我目前在MVC项目的Razor视图中有以下代码:
Item code:@Html.DropDownList(“ItemID”,(SelectList)ViewBag.Items)


我想稍后在Razor视图中的
@Ajax.ActionLink
中访问下拉列表的值。是否有方法访问视图中下拉列表的值??

使用JQuery获取当前选定的值-

$('#dropDownId').val();

使用JQuery获取当前选定的值-

$('#dropDownId').val();

如果您没有一个特殊的库(如jQuery)来处理DOM元素,您可以按照以下示例使用vanilla Javascript:

//通过元素的ID值获取元素
var dropdownElement=document.getElementById(“ddlItems”);
//现在我们有了对下拉字段的引用,让我们读取所选值(或文本):
//1-选定值
var selectedValue=dropdownElement.options[dropdownElement.selectedIndex].value;
//2-选定文本
var selectedText=dropdownElement.options[dropdownElement.selectedIndex].text;
//显示带有选定文本和值的弹出窗口
window.alert(“所选值为:(“+selectedValue+”),所选文本为:(“+selectedText+”)

第一项
第二项
第3项

如果您没有一个特殊的库(如jQuery)来处理DOM元素,您可以按照以下示例使用vanilla Javascript:

//通过元素的ID值获取元素
var dropdownElement=document.getElementById(“ddlItems”);
//现在我们有了对下拉字段的引用,让我们读取所选值(或文本):
//1-选定值
var selectedValue=dropdownElement.options[dropdownElement.selectedIndex].value;
//2-选定文本
var selectedText=dropdownElement.options[dropdownElement.selectedIndex].text;
//显示带有选定文本和值的弹出窗口
window.alert(“所选值为:(“+selectedValue+”),所选文本为:(“+selectedText+”)

第一项
第二项
第3项

如果我正确理解了您的问题,您正在尝试从视图中将所选值从
DropDownList
帮助程序传递到
@Ajax.ActionLink
帮助程序,这是不可能的,因为
@Ajax.ActionLink
帮助程序在发送到浏览器之前在服务器端进行处理和呈现

您可以使用
@Html.ActionLink
帮助程序而不使用
routeValue
参数,并设置锚定标记的
id
属性:

@Html.ActionLink("Get Item", "TargetAction", "TargetController", null, new { id = "link" })
然后使用不引人注目的AJAX处理该链接的
单击事件,并从下拉元素中传递所选值:

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

    // get selected value from dropdownlist
    var selected = $('#ItemID').val();

    $.ajax({
        type: 'GET',
        url: this.href,
        data: { id: selected }, // action parameter with selected value
        cache: false, // disable caching
        success: function (result) {
            // do something to target DOM
        }
    });

    return false;
});
附加说明:

1) 确保传递到
数据
设置中的参数与链接的
href
属性所指向的目标控制器操作中的参数完全匹配

public ActionResult TargetAction(int id)
{
    // do something 
}
2) 您可以使用强类型版本的
DropDownList
,即
DropDownListFor
来绑定viewmodel属性

@Html.DropDownListFor(model => model.ItemID, ViewBag.Items as SelectList, ...)

如果我正确理解了您的问题,您正试图从视图中将所选值从
DropDownList
帮助程序传递到
@Ajax.ActionLink
帮助程序,这是不可能的,因为
@Ajax.ActionLink
帮助程序在发送到浏览器之前在服务器端进行了处理和渲染

您可以使用
@Html.ActionLink
帮助程序而不使用
routeValue
参数,并设置锚定标记的
id
属性:

@Html.ActionLink("Get Item", "TargetAction", "TargetController", null, new { id = "link" })
然后使用不引人注目的AJAX处理该链接的
单击事件,并从下拉元素中传递所选值:

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

    // get selected value from dropdownlist
    var selected = $('#ItemID').val();

    $.ajax({
        type: 'GET',
        url: this.href,
        data: { id: selected }, // action parameter with selected value
        cache: false, // disable caching
        success: function (result) {
            // do something to target DOM
        }
    });

    return false;
});
附加说明:

1) 确保传递到
数据
设置中的参数与链接的
href
属性所指向的目标控制器操作中的参数完全匹配

public ActionResult TargetAction(int id)
{
    // do something 
}
2) 您可以使用强类型版本的
DropDownList
,即
DropDownListFor
来绑定viewmodel属性

@Html.DropDownListFor(model => model.ItemID, ViewBag.Items as SelectList, ...)

你是说选择值?如果没有,您已经有了您的值
(SelectList)ViewBag.Items
是选定的值。用户可以更改该值,因此您应该通过JS管理它。您是指选定的值吗?如果没有,您已经有了您的值
(SelectList)ViewBag.Items
是选定的值。用户可以更改该值,因此您应该通过JS进行管理