Asp.net mvc更改DIV内容而无需重新加载和没有按钮

时间:2017-07-26 22:03:47

标签: javascript html asp.net-mvc tcp asp.net-ajax

我是Asp.net mvc的新成员。我试着写两个简单的tcp应用程序。第一个应用程序是客户端(Windows窗体),第二个是主机(Asp.net mvc)。在First app中,我们可以编写消息并将其发送到第二个应用程序。 我在第二个应用程序中收到了正确的消息,并在HomeController中设置了属性消息。 我想改变div' messageDiv'每次我从第一个应用程序发送它并设置属性消息时,在message属性中的字符串。

下面的代码显示了如何使用按钮创建它。每次我们从第一个应用程序消息发送,然后在第二个单击接收按钮,它会正确更改。

可以写出会改变消息属性上的div的间隔吗?

Index.cshtml

@{
    ViewBag.Title = "Index";
}


<h2>Waiting for messages : </h2>


@using (Ajax.BeginForm(new AjaxOptions()
{
    UpdateTargetId = "messageDiv",
    HttpMethod = "Post"
}))
{
   <input id="btn" type="submit" value="receive"/>
}


<div id="messageDiv"></div>

HomeController.cs

 public class HomeController : Controller
{
    public static string message { get; set; }
    // GET: Home
    [HttpGet]
    public ActionResult Index()
    {
        tcpHost host = new tcpHost();
        return View();
    }

    [HttpPost]
    public ActionResult Index(string x)
    {
        return Content(string.Format(message));

    }
}

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么当您/其他人收到消息时,您需要自动更新消息div的内容吗?

您需要获得real-time communication(推荐),或者您可以使用setInterval method in JavaScript来不断检查是否有新消息,如果有,则会在消息中获取并显示消息div(不推荐)。