2017-08-02 5 views
0

を使用してExcelからasp.net MVCコントローラhttppostアクションメソッドにデータを送信するためにどのような方法があります:私のコントローラがあるVBA

[HttpPost] 
public IActionResult Updtdb(string longStr) 
{ 
//some code here! 
} 

私はExcelから私のウェブサイトにデータを送信しようとしていますが。 これまで私が試したことがあります。

Sub XMLPost() 
Dim xmlhttp, longStr As String 

    With ActiveSheet 
     longStr = "x=" & generateData 
    End With 

    Set xmlhttp = CreateObject("microsoft.xmlhttp") 

    With xmlhttp 
     .Open "POST", " http://localhost:54188/DashBoard/Updtdb", False 
     .setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
     .send longStr 
    End With 
End Sub 

Function generateData() 
    Dim longString As String, range As range 

    Set range = Sayfa8.range("SummaryTable") 

    For Each cell In range.Cells 
     longString = longString + CStr(cell.Value) + ";" 
    Next cell 

    generateData = longString 
End Function 

Sub XML Post()を実行すると動作しますが、アクションメソッドは呼び出されません。私はそれを達成する方法がわからない、あるいは達成可能でさえある。どんな助け?

+0

あなたのコントローラのルートを表示することができますか? – ggradnig

+0

app.UseMvc(ルート=> { routes.MapRoute( 名: "デフォルト"、 テンプレート: "?{コントローラ=ホーム}/{アクション=ランキング}/{ID}"); })。 – Macukadam

+0

あなたのコントローラメソッドのシグネチャを 'HttpPost]から変更しようとしました public IActionResult Updtdb(string longStr) { //ここにいくつかのコードがあります! } 'to' [HttpPost] public ActionResult Updtdb(ModelXモデル) { //ここにいくつかのコード! } 'class ModelX {public string x {get; set;}}' – yW0K5o

答えて

0

最後にソローションが見つかりました。私のプロジェクトはasp.net認証を使用しています。 DashBoardControllerは、認証されたユーザーのみが使用できます。アクションコントローラにデータアノテーションを追加しました。今はすべて正常に動作します。

[のAllowAnonymous]

[HttpPost] 
[AllowAnonymous] 
public ActionResult Updtdb(string x) 
{ 
    return Content("a"); 
} 
関連する問題