对MVC不熟悉所以请耐心等待。
我要做的是,在第1页,用户将值输入到两个文本字段中,单击提交按钮,它将调用wcf服务,如果wcf调用返回已验证的值,则它应重定向到不同的页面并显示来自wcf的返回值。
我创建了这样的视图 -
<input type="text" name="txtUniqueCode" value="@Model.UniqueCode" placeholder="unique identifier" />
<label for="name">
Vehicle Registration
</label>
<input type="text" name="txtRegistration" value="@Model.Registration" placeholder="Registration" />
<a href="@Url.Action("ShowRepairDetails", "RepairDetails", new { uniqueCode = Model.UniqueCode, registration = Model.Registration })">Check Status</a>
用户在文本框中输入值后,一旦点击“检查状态”,我就会尝试使用Url.Action将值传递给控制器。但是当我调试并检查控制器上的参数值时,它们会以null返回给我。我不确定为什么??
我尝试用url.Action中的静态值替换参数值 -
@Url.Action("ShowRepairDetails", "RepairDetails", new { uniqueCode = 1234, registration = "Test" })
工作正常,我在控制器端正确接收参数值。因此,据我所知,即使用户在文本框中输入了一些值,“模型”对象也不会更新。我在这里遗漏了一些东西。你能帮忙吗..
提前致谢
西
答案 0 :(得分:1)
您似乎误解了此处的工作流程。代码中的链接由服务器在将页面发送到客户端之前计算。它无法使用用户稍后输入文本框的值。为此,您需要一个带有提交操作的表单,或者一个AJAX调用,它提取HTML元素的值并将它们发送回服务器。