gpt4 book ai didi

asp.net-mvc - 如何通过 ActionLink 传递模型值

转载 作者:行者123 更新时间:2023-12-04 05:35:47 27 4
gpt4 key购买 nike

我有一个简单的模型,可以对车辆实体进行建模。
它具有以下属性:
型号
制作
颜色
登记牌

在创建 View 中,我希望用户能够使用注册牌执行服务器查找,以自动填充型号/品牌/颜色信息。

因此,我正在尝试创建一个操作链接,如下所示:

@Html.ActionLink("Look up registration", "RegLookup", "Vehicle", Model.Registration)

其中 RegLookup 是车辆 Controller 中的 get ActionResult 方法,该方法会根据传递给它的注册字段查找型号/品牌/颜色信息。品牌/型号/颜色信息是从单独的数据库中检索的。

然而,目前在渲染 View 时 - 甚至在到达操作链接之前 - 会引发异常,表明模型为 Null。

我想要传递的是来自代表注册的文本框的有效值:
@Html.EditorFor(model => model.Registration)

我如何传递这个值?

最佳答案

在您的 CreateView 中,通常您的模型属性应该大部分为空,除了一些预置值,如 dropdowns 。您应该使用的是使用 jQuery ajax 对操作方法进行异步调用,该方法根据注册牌返回相关数据并将其填写在表单中

您可以像这样保留操作链接

@Html.ActionLink("Look up registration", "RegLookup", "Vehicle",
new {@id="check"},null)

并在它的点击事件中附加一个 javascript 函数来进行 ajax 调用
$(function(){

$("#check").click(function(e){
e.preventDefault();
var item=$(this);
var regPlateVal=$("#RegistrationPlate").val();
$.getJSON(item.attr("href")+"?registration="+regPlateVal,function(data){
if(data.Status=="success")
{
$("#Color").val(data.Color);
$("#Model").val(data.Model);
}
});
});

});

假设您的 RegLookUp action 方法接受一个参数(名称为 registration )并返回 JSON 中的数据格式如下
{
"Status": "success",
"Color": "Red",
"Model": "2011"
}

关于asp.net-mvc - 如何通过 ActionLink 传递模型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11956831/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com