Отправка данных из winforms в контроллер MVC передает нулевое значение - PullRequest
1 голос
/ 30 марта 2019

Я пытаюсь отправить строковое значение из winforms (которое является приложением ClickOnce) в метод действия контроллера MVC.Я могу успешно вызвать метод POST, но при проверке значения параметра он отображается как нулевое значение.

Ниже приведен мой код winform:

private void btnEncrypt_Click(object sender, EventArgs e)
    {
        var dataBytes = System.Text.Encoding.UTF8.GetBytes(txtFill.Text);
        var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://abc.azurewebsites.net/Home/Contact");            
        httpWebRequest.ContentType = "application/x-www-form-urlencoded";
        httpWebRequest.ContentLength = dataBytes.Length;
        httpWebRequest.Method = "POST";

        Stream dataStream = httpWebRequest.GetRequestStream();

        dataStream.Write(dataBytes, 0, dataBytes.Length);
        dataStream.Flush();
        dataStream.Close();

        WebResponse response = httpWebRequest.GetResponse();

        lblShow.Text = ((HttpWebResponse)response).StatusDescription;

        dataStream = response.GetResponseStream();

        StreamReader streamReader = new StreamReader(dataStream);

        string responseFromServer = streamReader.ReadToEnd();
        // Display the content.  
        lblShow.Text += " " + responseFromServer;

        streamReader.Close();
        response.Close();                                  
    }

Ниже приведен скриншот из действия моего контроллераметод, при котором точка останова получает удар, но значение параметра post равно нулю.

enter image description here

Любой подход / предложения о том, что идет не так или как передать строкуили значения JSON из winforms для моего действия контроллера mcv.

Заранее спасибо !!! ..

1 Ответ

0 голосов
/ 02 апреля 2019

попробуйте это:

private void btnEncrypt_Click(object sender, EventArgs e)
    {
        var dataBytes = System.Text.Encoding.UTF8.GetBytes("data="+txtFill.Text);
        var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://abc.azurewebsites.net/Home/Contact");            
        httpWebRequest.ContentType = "application/x-www-form-urlencoded";
        httpWebRequest.ContentLength = dataBytes.Length;
        httpWebRequest.Method = "POST";

        Stream dataStream = httpWebRequest.GetRequestStream();

        dataStream.Write(dataBytes, 0, dataBytes.Length);
        dataStream.Flush();
        dataStream.Close();

        WebResponse response = httpWebRequest.GetResponse();

        lblShow.Text = ((HttpWebResponse)response).StatusDescription;

        dataStream = response.GetResponseStream();

        StreamReader streamReader = new StreamReader(dataStream);

        string responseFromServer = streamReader.ReadToEnd();
        // Display the content.  
        lblShow.Text += " " + responseFromServer;

        streamReader.Close();
        response.Close();                                  
    }
...