1

我是 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 将值传递给控制器​​。但是当我调试并检查控制器上的参数值时,它们会以空值返回给我。不知道为什么?

我尝试在 url.Action 中用静态值替换参数值,如下所示 -

  @Url.Action("ShowRepairDetails", "RepairDetails", new { uniqueCode = 1234, registration = "Test" })

这工作正常,我在控制器端正确接收参数值。因此,据我了解,即使用户在文本框中输入了一些值,“模型”对象也没有得到更新。我在这里遗漏了一些东西。能否请你帮忙..

提前感谢

4

1 回答 1

1

您似乎误解了这里的工作流程。您代码中的链接在将页面发送到客户端之前由服务器计算。它无法使用用户稍后在文本框中输入的值。为此,您需要一个带有提交操作的表单,或者一个提取 HTML 元素值并将其发送回服务器的 AJAX 调用。

于 2012-05-24T17:16:23.620 回答