如何将对象从ASPX代码后面传递到Web应用程序angularjs控制器?

时间:2019-03-08 15:32:02

标签: c# asp.net .net angularjs

我正在尝试将对象从ASPX代码传递到Web应用程序angularjs控制器。让我向您解释问题。

我有一个名为app1的aspx应用程序,该应用程序登录并返回一个大的复杂对象(json或模型)。

我还有一个名为app2的angularjs应用程序,该应用程序必须接收复杂的对象以映射和填充身份验证角度变量。

App1和App2在同一表示层中。

我的问题是,如何将复杂的对象从aspx应用程序传递到angularjs控制器。

//Do login from aspx appplication (app1)
protected void submit_Click(object sender, EventArgs e)
{
    lblResponse.Text = "";

    string requestStr = null;
    string responseStr = null;

    var request = new RestRequest("signin", Method.POST);
    SignInRequestREST signinRequest = new SignInRequestREST();

    signinRequest.Mail = txtMail.Text;
    signinRequest.Password = txtPassword.Text;
    signinRequest.SupplierLogin = true;
    request.AddJsonBody(signinRequest);

    requestStr = request.JsonSerializer.Serialize(signinRequest);
    HttpStatusCode status = HttpStatusCode.OK;
    IRestResponse response = Execute(request, out status, ConfigurationManager.AppSettings["URL"]);
    responseStr = response.Content; //Here it's my object in json encode


    if (status == HttpStatusCode.OK)
    {            
        lblResponse.Text = "Is authenticated";

        //Now, here it's my problem
        //How can pass responseStr to app2?
    }
    else
    {
        lblResponse.Text = "It's not authenticated";
    }
}



//AngularJS controller app2)    
$scope.Init = function () {

        //$scope.userInStorage = SessionStorage.getUser('User');
        $scope.userInStorage = responseStr;

       //but I don't know how catch responseStr here?
    }

通常,您可以从angular发出http请求,然后捕获响应。

在这种情况下,aspx必须执行请求,而angular必须仅捕获响应。

有什么主意吗?我非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用

  1. 会话状态
  2. 列表项

查询字符串

这里有一个指向similar question的链接,您可以在其中找到答案

答案 1 :(得分:0)

您的Submit_Click方法返回void。这意味着它将永远不会传递任何东西给您的控制器。另外,AngularJs控制器中也没有任何适当的代码来调用aspx方法或接收数据。