想了解通过JavaScript问题呈现HTML卡片的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于htmlcard的相关问题,此外,我们还将为您介绍关于ASP.NETMVC中@Html.Pa
想了解通过 JavaScript 问题呈现 HTML 卡片的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于html card的相关问题,此外,我们还将为您介绍关于ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处、asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf的新知识。
本文目录一览:- 通过 JavaScript 问题呈现 HTML 卡片(html card)
- ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
- asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处
- asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
- AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf
通过 JavaScript 问题呈现 HTML 卡片(html card)
如何解决通过 JavaScript 问题呈现 HTML 卡片
所以基本上我的代码的想法是什么:用户输入图像 URL、价格和描述,然后点击 ''create card'' 然后它应该创建一张卡片。
用户创建的所有产品都保存在''productsArr''数组中;
在用户点击创建卡片后,它应该从 ''productsArr'' 数组中渲染 HTML 并显示所有卡片,但由于某种原因,它只创建了一张卡片,然后将其复制到 HTML 中?
有人可以告诉我我的 JS 代码有什么问题吗?
PS 对不起我的英语
let productsArr = [];
let product = {
image: null,price: null,description: null,id: null
}
function getInfo() {
product.image = document.getElementById("image").value;
product.price = document.getElementById("price").value;
product.description = document.getElementById("description").value;
product.id = document.getElementById("id").value;
}
function render() {
let arr = productsArr;
for (let i = 0; i < arr.length; i++) {
let str = '''';
str = '' <divdata-id="i">\\n'' +
'' <img id="img" src="'' + arr[i].image + ''" alt="#">\\n'' +
'' <div>'' + arr[i].description + ''</div>\\n'' +
'' <div>'' + arr[i].price + ''</div>\\n'' +
'' <input type="button" value="В коризну">'' +
'' </div>''
document.getElementById(''all_products'').innerHTML += str;
arr = [];
}
}
function pushIt() {
getInfo();
productsArr.push(product);
render(productsArr);
product = {
image: null,id: null
}
}
function sortByPrice() {
productsArr.sort((a,b) => parseFloat(a.price) - parseFloat(b.price));
}
console.log(productsArr)
.container {
max-width: 2000px;
margin: 0 auto;
display: flex;
}
.form {
height: 420px;
width: 30%;
padding: 50px;
background: #73AFBA;
border-radius: 10%;
}
label {
display: flex;
flex-direction: column;
}
.products-section {
width: 70%;
}
.products-section-header {
display: flex;
justify-content: center;
align-items: center;
}
.products {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
margin-left: 50px;
}
input {
width: 100%;
margin: 10px 0;
}
.item_body {
width: 30%;
padding: 10px;
margin: 20px;
height: 400px;
border: #1C2E3D solid 1px;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
text-align: center;
}
.item_body img {
max-width: 80%;
}
<!DOCTYPE html>
<html lang="en">
<head>
<Meta charset="UTF-8">
<link href="styles.css" rel="stylesheet">
<title>Title</title>
</head>
<body>
<div>
<div>
<label>
<p>Image</p>
<input id="image" type="text" name="image">
<p>Price</p>
<input id="price" type="text" name="price">
<p>Description</p>
<input id="description" type="text" name="description">
<p>Id</p>
<input id="id" type="text" name="id">
<input type="submit" value="Create card" onclick="pushIt()">
</label>
</div>
<div>
<div>
<input type="button" name="sortByPrice" value="Sort by price" onclick="sortByPrice()">
</div>
<divid=''all_products''></div>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
解决方法
当您在 productsArr
中推送产品时。因此,不是将 productsArr
传递给 render
函数,而是将当前产品传递给渲染函数。 这样,您就不需要在 for
函数中使用 render
循环,您也可以使用 productsArr
以备将来使用。
所以你的函数看起来像:
function pushIt() {
getInfo();
productsArr.push(product);
render(product);
product = {
image: null,price: null,description: null,id: null
}
}
而您的 render
函数将变为:
function render(product) {
let str = '''';
str = '' <divdata-id="i">\\n'' +
'' <img id="img" src="'' + product.image + ''" alt="#">\\n'' +
'' <div>'' + product.description + ''</div>\\n'' +
'' <div>'' + product.price + ''</div>\\n'' +
'' <input type="button" value="В коризну">'' +
'' </div>''
document.getElementById(''all_products'').innerHTML += str;
}
ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
1.Action、RenderAction加载办法的视图,履行Controller → Model → View的次序,然后把产生的页面带回到本来的View中再回传。而Partial、RenderPartial直接加载视图文件内容
2.Html.Partial可以直接供给用户控件名作为参数,而Html.Action须要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。
3.对于简单的没有任何逻辑的用户控件,推荐应用Html.Partial;对于须要设置一些Model的用户控件,推荐应用Html.Action。当然,有Model数据也是可以应用Html.Partial办法的,可以看办法的重载。
4.Html.Partial与Html.Action有啥区别呢?区别就是,Html.Partial只有一个视图,而Html.Action除了视图,还真的有个Action跟它对应,所以,Html.Action功能比Html.Partial要强。
如何调用这个Html.Partial
//1、以视图名使用当前文件夹下的视图(如果没有找到,则搜索 Shared 文件夹)
@Html.Partial(
"_test"
)
//加载对应文件 /Views/Product/_test.cshtml
//2、依据应用根路径定位视图// 以 "/" 或 "~/" 开头的路径代表应用根路径
@Html.Partial(
"~/Views/Product/_test.cshtml"
)
@Html.Partial(
"/Views/Product/_test2.cshtml"
)
//3、加载其他目录的 视图文件
//注意:需要复制views中的web.config 到template目录,否则会提示 "/template/A.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage<TModel>"
@Html.Partial(
"/template/A.cshtml"
)
asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处
Html.Partial and Html.RenderPartial Html.Action and Html.RenderAction
解决方法
Html.Partial使用已创建的模型(或者可以在没有模型的情况下调用)来渲染指定的视图.
何时使用一个而不是另一个?如果您已有模型并且只想拥有可重复使用的视图,请选择Html.Partial.如果你看到某个部分值得拥有自己的模型和动作,那么使用Html.Action可能是有意义的.
这个问题在this article中有更详细的讨论,你在上面看到的基本上是它的摘录.
asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
1、带有Render的方法返回值是void,在方法内部进行输出;不带的返回值类型为MvcHtmlString,所以只能这样使用:
@Html.Partial 对应 @{Html.RenderPartial(....);}@Html.Action 对应 @{Html.RenderAction(....);}
2、Html.Partial可以直接提供用户控件名作为参数,
而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。
3、对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;对于需要设置一些Model的用户控件,推荐使用Html.Action。当然,有 Model数据也是可以使用Html.Partial方法的,可以看方法的重载。
4、使用Html.Action有个好处,就是可以根据不同的场景选择不同的用户控件。比如:@Html.Action("UserInfoControl")在对应的 UserInfoControl这个Action中,在用户未登录的时候,可以retun PartialView("LogOnUserControl");登录后,可以retun PartialView("UserInfoControl");
AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf
如何解决AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf
在我的 nodejs 应用程序中使用 html-pdf 包创建 pdf 文件时出现此错误
AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf
res.render(''pdf/attend-report'',{ data: attendData,date: `From: ${date(req.body.repFromDate || req.params.from)} To: ${date(req.body.repToDate || req.params.to)} - ${days} days(s)` },function(err,html) {
pdf.create(html,options).toFile(''../public/pdf-html/attend-report.pdf'',result) {
if (err) {
return console.log(err);
} else {
// console.log(res);
var datafile = fs.readFileSync(''../public/pdf-html/attend-report.pdf'');
res.header(''content-type'',''application/pdf'');
res.send(datafile);
}
});
})
如果我创建 html 链接“const html = fs.readFileSync(''../views/pdf/attend-report.ejs'',''utf8'');”我仍然找不到文件
修复此错误的任何帮助
我们今天的关于通过 JavaScript 问题呈现 HTML 卡片和html card的分享已经告一段落,感谢您的关注,如果您想了解更多关于ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处、asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf的相关信息,请在本站查询。
本文标签: