asp.net AngularJS返回整个页面ng-model值不可见

t98cgbkg  于 2022-11-19  发布在  .NET
关注(0)|答案(1)|浏览(160)

我有一个Web应用程序,使用AngularJS与asp.net #后端。
我需要将呈现的HTML页面发送到后端。但是来自ng-model绑定的值似乎不在代码中。
我尝试了不同的方法,比如document.getElementById("...").innerHTML,但是ng-model的值(在输入和文本区域中)总是空的/不可见的。
下面是我使用的一段代码:
Angular 控制器:

function EditController(user) {
   var vm = this;

   vm.User = user.data.User;
   ...
}

function Print() {
    vm.User.Name = document.getElementById('Name').textContent;
    vm.User.Description = document.getElementById('Description').textContent;

    //THIS IS THE QUESTION
    **vm.User.Html = document.documentElement.outerHTML;**

    Service.create('User/print', vm.User).then(successfullyPrinted, errorOnPrinting);
 }

Angular 视图:

...
<div class="row">
    <div class="col-sm-6">
        <label class="control-label">Name:</label>
    </div>
    <div class="col-sm-7 ">
        <input type="text" id="Name" class="form-control" ng-model="vm.user.Name">
    </div>
</div>
<div class="row">
    <div class="col-sm-6">
        <label class="control-label">Desc:</label>
    </div>
    <div class="col-sm-7 ">
        <textarea type="text" id="Description" ng-model="vm.user.Description"></textarea>
    </div>
</div>
...

有没有办法把值发送到控制器?绑定应该也有两种方式,因为我也需要保存模型。值在视图中是可见的,保存也可以。但是发布的html不包含值。
目标是在后端创建一个pdf文件(必须在那里),就像显示的html页面一样。
谢谢你的帮助

gajydyqb

gajydyqb1#

您是否有一个到页面的路径,该页面在您的app-routing.module中使用ngModel?例如:

{path: 'add', loadChildren: () => AddPageModule}, // !!!! Necesary for ngModel

或此

{ path: 'add', component: AddPageComponent }

也可以像这样使用ng Model:

<textarea type="text" id="Description" [(ngModel)]="vm.user.Description" ></textarea>

如果路线解决了您的问题,您找到了原因,请在this thread中留下答案。
如果这些都没有帮助,请为您的问题添加更多上下文。

相关问题