小编TiG*_*reX的帖子

在 blazor 中添加动态组件列表

我刚刚开始查看 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>组件只是为了测试组件的功能,这里是组件视图
<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> …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core blazor

5
推荐指数
1
解决办法
9600
查看次数

razor 页面 (blazor) 正在对字符进行编码

我有一个小网站,当我在网站上执行Ctrl+操作时U,UTF-8 字符无法正确打印。

\n

例如,如果我尝试打印programaci\xc3\xb3n它会打印programaci&#xF3;n

\n

仅当我打印变量的值时才会发生这种情况,当我对文本进行硬编码时不会发生这种情况。

\n

例如,<div>@variable</div>打印带有编码值的内容,例如programaci&#xF3;n。但使用检查器时,值本身是programaci\xc3\xb3n

\n

但如果我在下面的行中编写 <div>programaci\xc3\xb3n</div>它,它就会正确打印。

\n

我尝试使用httputlity.htmldecode但得到了相同的结果。

\n

我也尝试过,meta charset=UTF-8并将文件保存.razor为UTF。就像这篇文章中指定的那样,但这些都不起作用。

\n

有什么方法可以正确打印这些字符吗?

\n

如果这很重要的话,我正在使用 .NET5。

\n

.net c# razor razor-pages blazor

4
推荐指数
1
解决办法
1431
查看次数

C# 中的 CrossProject 全局使用

现在 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网络应用程序中的任何位置时,它会按预期工作。

.net c# .net-6.0 c#-10.0

4
推荐指数
1
解决办法
968
查看次数

CentOS 和 Nginx 上 blazor 上的 websocket 问题

我正在尝试使用 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()它不起作用。

我也认为它可能是 …

nginx websocket centos7 blazor-server-side

3
推荐指数
1
解决办法
2273
查看次数

默认值C#class

嗨伙计们我在控制器中有一个功能,我收到一个表单的信息,实际上我有这个代码:

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)

c#

2
推荐指数
2
解决办法
3万
查看次数