残念ながら、私はC#Razor Webフォーム(MVCではない)Webアプリケーションを扱っています。C#Razor Task <string> async not working
以下二つの機能は、C#クラスからです私はCSHTMLページ上で作業をする必要がある非同期機能からなるクラスとC#のプログラムを与えられたと私はどのように把握することはできません
...そのC#Formsアプリケーションでうまくいきました。 ( "TextBox1"にはテキストが割り当てられていることに注意してください)。
私の問題は、私は、文字列変数「XML」(好ましくは「テキストエリア」要素で)CSHTMLページに表示されることを必要とするということであると私は値
に取得するためにshowData()関数を呼び出すように見えることはできません誰も助けることができますか?
public static async void showData(string gID)
{
string xml = "";
try
{
xml = await WaitAsynchronouslyAsync(gID);
//The original code set a TEXTBOX to the string value
//I need to revise this code so that I can display it on a cshtml page
TextBox1.Text = xml;
}
catch (HttpRequestException)
{
throw new ApplicationException("Could not connect to the server");
}
}
public static async Task<string> WaitAsynchronouslyAsync(string gID)
{
await Task.Delay(10);
urlLink = "*** A custom Intranet URL ***";
....
....
** preparing a Token/Client response url **
....
....
string result = await serviceClient.GetStringAsync(urlLink);
return result;
}
私はvoid
機能をバイパスし、Task<string>
機能にアクセスしようとしましたが、私はstring
値にTask<string>
を変換することはできません。
これは非常に広い質問です。あなたは 'showData'メソッドをどう呼ぶつもりですか? AJAXを使用して、または別のアクションから呼び出すことができます。 'TextBox1.Text'を削除して再利用できるようにする必要があります。詳細を提供する必要があります。 – CodingYoshi
はい...「TextBox1.Text」を削除する必要があることを明確に述べています。問題は 'void'メソッドを呼び出して文字列を取得できないことです。そうですね、このコードでは...私はAJAXを使うことはできません。 – bagofmilk
私はあなたが必要とする詳細については混乱しています。私は単に、2つの関数から 'xml'という文字列を取得しようとしています。私のポストを完全に読んでから、詳細が必要だと私に伝えてください。 – bagofmilk