查看: -
这里的op是我从html下拉列表中选择的值。 e是按钮点击的值..
i just want to pass both two values to my controller
,我可以将其放入我的SQL查询中。我如何在我的@UrlAction中传递这两个变量,这样我就可以在mycontroller中获取这些变量
function details()
{
var op;
var e = document.getElementById("test").Value;
$("mydropdown option").each(function (i) {
var op = $(this).attr('selected').val();
})
window.open('@UrlAction("UserLayerView", "home", new {layertype = e, layername= op })')
}
对于控制器: -
public ActionResult UserLyerView(DataTable as dt, String layertype, String layername)
{
string query = "select column name from" + layertype + "Where name =" +layername;
}
答案 0 :(得分:1)
您正在混合客户端和服务器端代码。 e
和op
变量是客户端javascript; Url.Action
是服务器端剃刀代码。您不能在服务器端操作中使用客户端变量,因为它们还不存在(当它们执行时:Url.Action
没有任何意义)。所以;您必须通过串联手动和动态构建URL。您可以在隐藏表单上设置输入(可能是action="get"
)并提交。