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 中英文切换如何实现,思路如何的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android 上“放大”我的 asp.net 网页?