asp.net 中英文切换如何实现,思路如何

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 中英文切换如何实现,思路如何相关的知识,希望对你有一定的参考价值。

请回答的尽量详细,谢谢

参考技术A 1保存中英文的对照信息,放在数据库和XML文件都可
2设置中英文切换功能,点击中文加载中文信息,英文加载英文信息
如一个标题
中文:表格
英文:Table
切换的时候就进行相应显示。

如何在 ASP.NET 中设置自动实现属性的默认值 [重复]

【中文标题】如何在 ASP.NET 中设置自动实现属性的默认值 [重复]【英文标题】:How to set default value for Auto-Implemented Properties in ASP.NET [duplicate] 【发布时间】:2011-11-28 09:38:02 【问题描述】:

我开始知道 C# 3.0 带有自动实现属性的新功能,我喜欢它,因为我们不必在此声明额外的私有变量(与早期的属性相比),之前我使用的是属性即

private bool isPopup = true;
public bool IsPopup

    get
    
      return isPopup;
    
    set
    
      isPopup = value;
    

现在我已将其转换为自动实现的属性,即

public bool IsPopup

    get; set;

我想将此属性的默认值设置为true,即使在page_init方法中也不使用它,我试过但没有成功,谁能解释一下如何做到这一点?

【问题讨论】:

在构造函数中初始化 【参考方案1】:

可以在默认构造函数中初始化属性:

public MyClass()

   IsPopup = true;

在 C# 6.0 中,可以像普通成员字段一样在声明中初始化属性:

public bool IsPopup  get; set;  = true;  // property initializer

现在甚至可以创建一个真正的只读自动属性,您可以直接初始化或在构造函数中初始化,但不能在类的其他方法中设置。

public bool IsPopup  get;  = true;  // read-only property with initializer

【讨论】:

谢谢,我认为这是唯一的办法。 寻找更具体的答案,为此我必须在构造函数中编写额外的代码,是否没有办法在自动实现的属性本身中编写它,而不使用旧的约定。 你必须以某种方式初始化你的属性。由于没有支持字段(它由编译器生成),因此没有其他选择。在这种情况下,我编写了完整的属性,幸运的是你得到了智能感知。 @slfan 你能详细说明一下吗?我开始使用汽车并试图了解基础知识。您的回答是有道理的,但是您的评论(当我阅读时)似乎与之相矛盾-我确定我误解了您在该评论中所说的内容,因为您的回答不正确并且有赞成票。 目前这是唯一的方法。在即将到来的 C# 6.0 中,将有可能直接初始化属性。只有当我必须在 setter 或 getter 中编写代码时,我才会使用完整的属性。【参考方案2】:

为自动属性指定的属性不适用于支持字段,因此默认值的属性不适用于此类属性。

但是,您可以初始化自动属性:

VB.NET

Property FirstName As String = "James"
Property PartNo As Integer = 44302
Property Orders As New List(Of Order)(500)

C# 6.0 及更高版本

public string FirstName  get; set;  = "James";
public int PartNo  get; set;  = 44302;
public List<Order> Orders  get; set;  = new List<Order>(500);

C# 5.0 及以下

很遗憾,低于 6.0 的 C# 版本不支持此功能,因此您必须在构造函数中初始化自动属性的默认值。

【讨论】:

好编辑 Eagle-Eye,感谢更新此内容以包含 C# 6.0。【参考方案3】:

你试过DefaultValueAttribute

【讨论】:

好的,所以我发现这不是正确的方法。似乎 DefaultValueAttribute 只是指示元数据属性可以具有默认值并没有实际设置它。所以我希望这会有所帮助某人。【参考方案4】:
using System.ComponentModel;

[DefaultValue(true)]
public bool IsPopup

    get
    
      return isPopup;
    
    set
    
      isPopup = value;
    

【讨论】:

你看到 Akshat Jeewan Sharma 的答案了吗? 是“复制粘贴”吗? 查看@Jeewan Sharma 的回答以了解这不是正确的做法。【参考方案5】:

您可以使用 默认属性值,如下所示

此方法的一个优点是您不需要检查 Boolean 类型的空值

using System.ComponentModel; 

public class ClassName
 
   [DefaultValue(true)]
   public bool IsPopup get; set; 
 

【讨论】:

这实际上并没有设置默认值,它只是表示默认值应该是什么 @JoeFlateau 你能解释一下这两种方法有什么区别吗?B'cos 当我从控制器访问该属性时,它的值为 true。那么呢? DefaultValue 仅供参考,Visual Studio 会将值显示为非粗体。

以上是关于asp.net 中英文切换如何实现,思路如何的主要内容,如果未能解决你的问题,请参考以下文章

我如何根据 mvc asp.net 中的登录用户切换视图

在 ASP.NET 中切换月份的按钮

如何在asp.net中更改实现背后的代码

如何在 android 上“放大”我的 asp.net 网页?

如何使用 C#、ASP.NET、SQL Server 端处理实现 jQuery DataTables 插件?

如何修改 asp.net core 5 程序的默认端口号?