我刚刚开始查看 blazor (v0.3) 并进行了一些测试,我想使用 blazor 添加一个列表
首先我创建了一个List<string>来测试同一页面中的简单列表
<ul>
@foreach (var item in listItems)
{
<li>@item</li>
}
</ul>
@functions {
private List<string> listItems = new List<string>();
private string newItem;
private void AddItem()
{
if (string.IsNullOrEmpty(newItem))
return;
listItems.Add(newItem);
newItem = "";
}
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,当我添加它时将每个元素添加到列表中。但是后来,我尝试添加组件,添加单个组件很容易,基于这里的这个问题,但是对于列表,我遇到了下一个问题:
<li>组件只是为了测试组件的功能,这里是组件视图Run Code Online (Sandbox Code Playgroud)<li id="@ID"> @Text </li> @functions { [Parameter] string Text { get; set; } [Parameter] string ID { get; set; } }
Run Code Online (Sandbox Code Playgroud)<input type="text" bind="TxtExample" name="inpAdd"/> <button onclick="@addCompoment">add comp1</button> …
我有一个小网站,当我在网站上执行Ctrl+操作时U,UTF-8 字符无法正确打印。
\n例如,如果我尝试打印programaci\xc3\xb3n它会打印programación
仅当我打印变量的值时才会发生这种情况,当我对文本进行硬编码时不会发生这种情况。
\n例如,<div>@variable</div>打印带有编码值的内容,例如programación。但使用检查器时,值本身是programaci\xc3\xb3n。
但如果我在下面的行中编写 <div>programaci\xc3\xb3n</div>它,它就会正确打印。
我尝试使用httputlity.htmldecode但得到了相同的结果。
\n我也尝试过,meta charset=UTF-8并将文件保存.razor为UTF。就像这篇文章中指定的那样,但这些都不起作用。
有什么方法可以正确打印这些字符吗?
\n如果这很重要的话,我正在使用 .NET5。
\n现在 C#10 已经就位,我正在重构一些代码。我注意到参考文献的数量是疯狂的。出于这个原因,我想使用 ,将每个项目之间共享的所有内容重构为一个“共享的” global usings,但它没有按预期工作。
仅举“最小”示例。
我有一个类库来配置 API 配置(中间件等)。然后我还有其他几个库。
这里的关键是,我想要一个名为“setup”的库,它引用所有其他库,并且使用“全局使用”,能够在包含所有域逻辑的 Web 应用程序中导入该库
setup但是,当我在新项目中创建文件时,global using Shared.API.xxx似乎没有执行任何操作。
我还在网络应用程序中导入了setup执行以下操作的项目:
<ItemGroup>
<Using Include="Shared.Setup" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
这可以进行跨项目全局使用吗?
注意:当我导入global using Shared.API.xxx网络应用程序中的任何位置时,它会按预期工作。
我正在尝试使用 CentOS 将我的 blazor 应用程序(服务器端)部署到我的 VPS 中。
部署顺利,我可以访问我的网站,但在控制台中我看到以下错误:
blazor.server.js:1 WebSocket connection to 'wss://website.com/_blazor?id=bMDvWwyNa5R5y9KsTVUS6A' failed:
(anonymous) @ blazor.server.js:1
blazor.server.js:1 [2021-05-01T07:33:36.170Z] Error: Failed to start the transport 'WebSockets': Error: There was an error with the transport.
e.log @ blazor.server.js:1
/_blazor?id=l_DDVIXzIu1Ro3zd9stUsA&_=1619854490093:1 Failed to load resource: the server responded with a status of 504 ()
blazor.server.js:1 [2021-05-01T07:35:50.195Z] Error: Connection disconnected with error 'Error'.
Run Code Online (Sandbox Code Playgroud)
我不知道如何对付他们。
据我了解,websocket/signalR 没有打开,这意味着一旦网站加载,连接就会“切断”,这里的问题是 blazor 每分钟都会调用一次,所以我收到一条消息说它确实这样做了attempting to reconnect to the server。但该网站有 5 秒左右无法使用。
为了解决这个问题,我尝试了网上看到的多种解决方案:
在项目中:设置services.AddSignalR()并且app.UseWebSockets()它不起作用。
我也认为它可能是 …
嗨伙计们我在控制器中有一个功能,我收到一个表单的信息,实际上我有这个代码:
public Actionresult functionOne(string a, string b, string c = "foo" )
Run Code Online (Sandbox Code Playgroud)
我试着把它转换成类似的类
public class bar
{
public string a {get;set;}
public string b {get;set;}
public string c {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
并将它们作为对象接收
public Actionresult functionOne(bar b)
Run Code Online (Sandbox Code Playgroud)
此外,我试图将defaultvalue放在'c'但不工作,我试过这个:
public class bar
{
public string a {get;set;}
public string b {get;set;}
[System.ComponentModel.DefaultValue("foo")]
public string c {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
没有发生任何事情,我收到它 null
我也试过了
public class bar
{
public string a {get;set;}
public string b {get;set;}
public string c
{
get
{
return c;
}
set
{ …Run Code Online (Sandbox Code Playgroud)