asp mvc实现搜索和插入在一起

时间:2014-09-19 07:32:08

标签: c# asp.net-mvc razor asp.net-mvc-5

我要实施一个消息系统,用户可以在其中找到他的联系人并向他们发送消息。
我做了什么:我有一个表单用于搜索联系人并向结果显示结果(结果是联系人列表),然后是另一个表单来编写邮件和发送,但如何向已经由发件人选择的联系人发送邮件< / strong>?
我的搜索代码:

@using (Ajax.BeginForm("FindContact", "Home", null, new AjaxOptions() { UpdateTargetId = "Result", HttpMethod = "POST" }, new { id = "formfindContact" }))
                { 
                    @Html.AntiForgeryToken() 
     @Html.DropDownList("StateID", (ViewBag.States as SelectList), "States ...", new { @class = "form-control input-sm" })

    @Html.DropDownList("CityID", (ViewBag.Cities as SelectList), new { @class = "form-control input-sm" })

    @Html.TextBox("PersonName", "", new { @class = "form-control input-sm" })
    @Html.TextBox("PersonCode", "", new { @class = "form-control input-sm" })
    <button type="submit" class="btn btn-info" value="ُSearch" ></button>
    }


                <div id="Result">
                    @Html.Partial("_ContactList",new List<ContactResult>())
                </div>

这里有发送代码(两个代码在同一视图中):

@using (Html.BeginForm("SendMessage", "Messages", FormMethod.Post, new { id = "formSendMessage" }))
{
    @Html.AntiForgeryToken()
    @Html.TextBox("Title", "", new { @class = "form-control input-sm" })
@Html.TextBox("Body", "", new { @class = "form-control input-sm" })
@Html.TextBox("Regards", "", new { @class = "form-control input-sm" })
 <a id="btnSend" href="#" class="btn btn-success" >Send</a>
}

我的@model是要在表格中显示的消息列表 关于使用所选联系人列表发送消息的任何想法??

1 个答案:

答案 0 :(得分:1)

不幸的是,你没有为_ContactList或FindContact视图提供代码,所以我可以建议:

在search resultring视图中,您可以在value属性中添加带有联系人ID的复选框,同时检查它们的某些JS代码将更新formSendMessage中的隐藏输入。因此,当您在控制器上发布消息时,您应该以例如逗号分隔字符串的形式接收所选的id。

只需添加到formSendMessage:

@Html.Heddien("SelectedContactsId")

一些jQuery示例:

$("#Result input[type='checkbox']").on('click', function(){ })
{
    var checkedIds= [];
    $('#Result input[type='checkbox'] :checked').each(function() {
        checkedIds.push($(this).val());
    });
    $("#SelectedContactsId").val(checkedIds.join(","));
}