Как получить результат задачи asyn c, отображаемой в тексте кнопки представления - PullRequest
0 голосов
/ 21 марта 2020

У меня есть следующее asyn c действие в MVC 5. Мне нужно отобразить результат «Билет» в виде текста кнопки. Когда кнопка нажата, действие должно быть вызвано снова и необходимо обновить sh текстовое значение. Как это сделать?

Примечание. С помощью следующего кода представление представляет собой просто строку с «билетом».

Контроллер

[HttpGet]
public async Task<ActionResult> Dashboard()
{
        var task = GetHttpStringAsync();
        var result = await task;

        MyToeknModel model = new MyToeknModel();
        model.Ticket = result;

        return Json(model, JsonRequestBehavior.AllowGet);
}


[NonAction]
private static async Task<String> GetHttpStringAsync()
{

    string postData = "username=test";
    byte[] data = System.Text.Encoding.ASCII.GetBytes(postData);
    var myTicket = "";

    try
    {

        HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://vizServer/trusted");

        req.Method = "POST";
        req.ContentType = "application/x-www-form-urlencoded";
        req.ContentLength = postData.Length;

        Stream outStream = req.GetRequestStream();
        outStream.Write(data, 0, data.Length);
        outStream.Close();

        HttpWebResponse res = (HttpWebResponse)req.GetResponse();
        StreamReader inStream = new StreamReader(res.GetResponseStream());
        string resString = inStream.ReadToEnd();
        inStream.Close();

        myTicket = resString;
    }
    catch (Exception ex)
    {
        string exceptionMessage = ex.Message;
        string innerException = ex.InnerException.Message;

        myTicket = "ERROR";
    }

    return myTicket;
}
...