【发布时间】:2022-12-15 06:24:07
【问题描述】:
我有一个 Webapp,使用 AngularJS 和 asp.net / C# 后端。
我需要将呈现的 HTML 页面发送到后端。但是来自 ng-model 绑定的值似乎不在代码中。
我尝试了不同的方法,比如 document.getElementById("...").innerHTML,但是来自 ng-model 的值(在输入和文本区域中)总是空的/不可见。
这是我使用的一些代码:
angularjs 控制器:
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);
}
角度视图:
...
<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 不包含这些值。
例如,呈现的 html 如下所示:
<textarea type="text" name="x1" id="x1" ng-model="vm.user.Description" class="ng-pristine ng-untouched ng-valid"></textarea>
它显示了值,但不是在纯 html 文本中...
目标是在后端创建一个 pdf 文件(它必须在那里),就像显示的 html 页面一样。
谢谢你的帮助
【问题讨论】:
标签: c# html jquery asp.net angularjs