我有一个asp:TextBox,我想验证用户键入的字符数不超过250个字符.
因为它是一个多行TextBox,所以该MaxLength
属性不起作用.目前我只看到选项使用CustomValidator检查TextBox1.Text.Length
服务器端,也许还有一些Javascript客户端验证.
但使用标准的ASP.NET验证器(RegularExpressionValidator,RangeValidator,CompareValidator等)是不是有更简单的方法呢?
提前致谢!
SQL Server初学者问题:
我正在尝试在SQL Server(2008)中引入计算列.在SQL Server Management Studio的表设计器中,我可以这样做,但设计器只提供一个单独的编辑单元来定义此列的表达式.由于我的计算列将相当复杂(取决于几个数据库字段并具有一些区分差异),我希望有一种更舒适和可维护的方式来输入列定义(包括用于格式化的换行符等).
我已经看到有一个选项来定义SQL Server中的函数(标量值或表值函数).是否可以更好地定义这样的函数并将此函数用作列规范?什么样的功能(标量值,表值)?
举一个简化的例子:
我有两个数据库列:
DateTime1 (smalldatetime, NULL)
DateTime2 (smalldatetime, NULL)
Run Code Online (Sandbox Code Playgroud)
现在我想定义一个计算列"Status",它可以有四个可能的值.用虚拟语言:
if (DateTime1 IS NULL and DateTime2 IS NULL)
set Status = 0
else if (DateTime1 IS NULL and DateTime2 IS NOT NULL)
set Status = 1
else if (DateTime1 IS NOT NULL and DateTime2 IS NULL)
set Status = 2
else
set Status = 3
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望有一个函数GetStatus()
可以访问表行的不同列值,我想为其计算"Status"的值,然后只将计算列规范定义为GetStatus()
不带参数.
这有可能吗?或者使用"复杂"计算列定义的最佳方法是什么?
提前感谢您的提示!
我是我的数据模型中的两个实体,例如用户和角色,都具有ID字段作为主键。它们之间存在多对多的关系。在数据库中,有三个表:Users,Roles和UsersRoles连接表。
我正在尝试向Users表添加一个新用户:
using(var myContext = new MyContext)
{
var user = new User() { ... };
user.Roles.Add(new Role() { ID = 1 });
}
Run Code Online (Sandbox Code Playgroud)
相同的角色可能已经被其他用户使用,因此,当我尝试添加具有相同角色的新用户时,由于EF尝试向角色表中添加新记录,所以我成为主键冲突。
有什么方法可以告诉实体框架(如果角色已经存在,则不向角色表中添加新记录,而仅更新Users和UserRoles表)?EF 1.0版
提前致谢。
我有一个启用分页的FormView.FormView绑定到EntityDataSource ...
<asp:EntityDataSource ID="MyEntityDataSource" runat="server"
ConnectionString="name=MyEntitiesContext"
DefaultContainerName="MyEntitiesContext"
EntitySetName="Order"
// ... more stuff to define a query
</asp:EntityDataSource>
Run Code Online (Sandbox Code Playgroud)
... Order
从数据库返回类型对象的列表(IEnumerable).让我们说,我的寻呼机位于第2页,因此FormView显示列表的第二个对象.
FormView似乎"知道"它必须显示的对象,因为控件就像
<asp:Label ID="MyLabel" runat="server" Text='<%# Eval("MyProperty")%>'/>
Run Code Online (Sandbox Code Playgroud)
神奇地显示正确对象的"MyProperty"的值.
如何Order
在代码隐藏中访问此对象(整个类型的实体,而不是使用"Eval"的单个属性)?
在这个在EF类中使用的虚拟属性中,它为什么会返回HashSet<T>
?那课是什么?
public virtual ICollection<TownShip> TownShips
{
get
{
return this.TownShips ?? (this.TownShips = new HashSet<TownShip>());
}
set
{
this.TownShips = value;
}
}
Run Code Online (Sandbox Code Playgroud) asp.net ×2
formview ×1
generics ×1
hashset ×1
insert ×1
many-to-many ×1
sql-server ×1
validation ×1