javascript - 在 View 中使用 C# MVC 多个动态模型

标签 javascript c# jquery asp.net-mvc

我有一个具有多种形式的 View ,用于搜索并将结果显示为部分 View ,如 SearchByNumber、SearchByVehicle 等。

我正在尝试通过从不同的 View 发布带有查询字符串(如 www.example.com/Search?number=101010)的链接来加载 View 并执行对不同表单的搜索。

对于第一种形式,SearchByNumber,我只有一个参数,字符串数字,我正在返回带有动态模型的 View ,它的工作方式应该如此,但我只能设法搜索这种形式。

这是我的 Controller :

public ActionResult Index(string number)
{
  return View(model: number);
}

在我的 View 中:

<form id="searchbynumberform">
    Search By Any Number:
    <div class="input-group input-group-sm">
        <input type="text" class="form-control" name="number" id="number" value="@Model">
        <span class="input-group-btn">
            <button class="btn btn-primary" type="button" name="numbersearch" id="numbersearch" disabled>
                Search
            </button>
        </span>
    </div>
</form>

我的问题是,如果有人能帮助我,假设在第二种形式上我有 int 类型和字符串名称参数,如何执行搜索?

提前谢谢你...

最佳答案

目前您的模型 只是输入的搜索字符串,这看起来相当不完整。如果 Model 还包含实际的搜索结果,那就更有意义了,毕竟这是用户想要看到的。然后您还可以添加其他搜索属性。

为此,MVC 方法是在项目的某处创建一个 (View)Model 类,如下所示:

public class SearchModel
{
    public string Number { get; set; }
    public int? Type { get; set; }
    public string Name { get; set; }
    public List<SearchResult> SearchResults { get; set; }
}

然后使用它,例如像这样:

public ActionResult Index(string number)
{ 
    var model = new SearchModel
    {
        Number = number,
        SearchResults = GetByNumber(number)
    };
    return View(model);
}

public ActionResult IndexOther(int type, int name)
{
    var model = new SearchModel
    {
        Type = type,
        Name = name,
        SearchResults = GetByTypeAndName(type, name)
    };
    return View(model);
}

在你的 Index.cshtml 中:

@model SearchModel

@* You can now use Model.Number, Model.Type, Model.Name and Model.SearchResults. *@

关于javascript - 在 View 中使用 C# MVC 多个动态模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58523364/

相关文章:

c# - 为什么我必须定义 IEnumerator<T>.Current & IEnumerator.Current,这有什么作用?

Javascript 无法删除 Ruby on Rails 中的类

c# - 如何在页面加载后抓取包含使用 JavaScript 更新的数据的页面?

C# 在不知道扩展名的情况下向邮件消息添加附件

c# - wpf 为命名元素创建样式

javascript - 拖拽文件上传,$_FILES出错

jquery - JQuery bind() 插件如何帮助我

javascript - 不断出现错误 : "Failed with: Uncaught SyntaxError: Unexpected token T in <unknown file>:1" (PARSE CLOUD CODE)

javascript - React Button Filter 禁用输入过滤器

javascript - (初学者)如何动态修改一个json文件