我正在尝试创建一个多布局主屏幕应用程序.我在顶部有一些链接到应用程序主要部分的按钮(例如模型中每个实体的管理窗口)
单击任何这些按钮将在Panel中显示关联的UserControl.Panel持有UserControls,而UserControls又拥有UI.
WinForms UserControl没有Anchor
或Dock
属性.
我试过设置UserControl的属性
AutoSize=True
Run Code Online (Sandbox Code Playgroud)
和
private void ManageUsersControl_Load(object sender, EventArgs e)
{
this.Width = this.Parent.Width;
this.Height = this.Parent.Height;
}
Run Code Online (Sandbox Code Playgroud)
但这些都行不通.
注意:我在运行时动态加载此控件
我认为微软必须有理由用RAZOR语法增强ASP.Net.
在visual studio 的Create New Website Project对话框中,还有另一个创建ASP.Net(Razor)的选项.我第一次遇到Razor一词是因为当我读一本关于Asp.Net MVC的书时,我不知道它存在于ASP.Net
我知道Razor的语法是什么,在MVC 3中引入.在问这个问题之前,我决定为ASP.Net(Razor)创建一个测试项目,看看它与普通的ASP.Net webforms和ASP.Net有什么不同. MVC.我发现没有像我们在MVC中那样的模型/视图/控制器文件夹.
我发现Master页面的指定方式不同,Master页面更清晰,没有更多 <asp:ContentPlaceHolder />
但我的问题是:
.cshtml
,没有更多的代码隐藏吗?更新: 特别是ASP.NET Web页面旨在使已经了解HTML的人们可以轻松地向其页面添加服务器处理.对于学生,业余爱好者,一般不熟悉编程的人来说,这是一个不错的选择.对于具有非ASP.NET Web技术经验的开发人员来说,它也是一个不错的选择
更新 ASP.NET网页 ASP.NET Web Pages面向那些想要一个简单的Web开发故事的开发人员,这与PHP一致.在Web页面模型中,您可以创建HTML页面,然后将基于服务器的代码添加到页面中,以便动态控制标记的呈现方式.Web Pages专门设计为轻量级框架,对于了解HTML但可能没有广泛编程经验的人来说,它是进入ASP.NET的最简单的入口点 - 例如,学生或业余爱好者.对于了解PHP或类似框架的Web开发人员来说,这也是开始使用ASP.NET的好方法.
拜托,我需要你的技术意见.谢谢.
我的页面上有一些文本框可以为空,因为它们是可选的,我有这个DAL代码
parameters.Add(new SqlParameter("@FirstName", FirstName));
parameters.Add(new SqlParameter("@LastName", LastName));
parameters.Add(new SqlParameter("@DisplayName", DisplayName));
parameters.Add(new SqlParameter("@BirthDate", BirthDate));
parameters.Add(new SqlParameter("@Gender", Gender));
Run Code Online (Sandbox Code Playgroud)
任何这些字段都可以为空.问题是当我们收到空的时候Procedure XXX requires @FirstName which was not supplied
然后我将代码更改为
parameters.Add(new SqlParameter("@FirstName", String.IsNullOrEmpty(FirstName) ? DBNull.Value : (object)FirstName));
parameters.Add(new SqlParameter("@LastName", String.IsNullOrEmpty(LastName) ? DBNull.Value : (object) LastName));
parameters.Add(new SqlParameter("@DisplayName", String.IsNullOrEmpty(DisplayName) ? DBNull.Value : (object) DisplayName));
parameters.Add(new SqlParameter("@BirthDate", BirthDate.HasValue ? (object)BirthDate.Value : DBNull.Value));
parameters.Add(new SqlParameter("@Gender", String.IsNullOrEmpty(Gender) ? DBNull.Value : (object) Gender));
Run Code Online (Sandbox Code Playgroud)
但是这对我来说看起来很麻烦,特别是object
因为三元语句要求两个值都是相同的类型.
为什么NULL
数据库中没有处理空字符串或空字符串?如果我必须将其转换DBNull.Value
为更清洁的方式吗?将值保存为数据库中的空字符串可能有所帮助,但NULL
在数据库中查询也会变得混乱
请就常见做法或与此有关的事情提出建议.
我有DAL,我将数据库空值转换为它们在C#中的等效表示.例如:
NULL for Numeric = 0
NULL for String = String.Empty
NULL for DateTime = "1/1/0001" (i.e. DateTime.MinValue)
Run Code Online (Sandbox Code Playgroud)
对于日期而言,问题在于表示层,尤其是在GridViews中.您无法1/1/01
向用户显示.
我以前做的是检查if myDate.Year=1 or myDate.Year < AcceptedDate
并显示空字符串,但与其他类型不同,似乎是额外的努力
请接受更好的方法.谢谢.
我发现了许多simulair问题,但不是一个有效的干净解决方案.我看到很多自定义代码可以让它工作,但为什么会这样?这应该从一开始就不起作用吗?
我认为奇怪的是,在IE9中它可以工作,但在Firefox和Chrome中它失败了.每当我在Firefox或Chrome中尝试时,我都会收到消息"字段生日必须是日期".
当我在新的MVC 4 RTM项目中尝试下面的代码时,我无法让它工作.我在所有浏览器中都看到DateTime.Now默认为dd-MM-yyyy(Holland)但我无法在Firefox和Chrome中提交它.
全局标记未在web.config中设置,因此必须使用默认值.我来自荷兰,所以它应该得到我猜的客户文化.
public class RegisterModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
//[DataType(DataType.Date)]
public DateTime Birthday { get; set; }
}
[AllowAnonymous]
public ActionResult Register()
{
RegisterModel vm = new RegisterModel()
{
Birthday = DateTime.Now
};
return View(vm);
}
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
try
{
//WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
//WebSecurity.Login(model.UserName, model.Password);
return …
Run Code Online (Sandbox Code Playgroud) validation asp.net-mvc model-validation asp.net-mvc-3 asp.net-mvc-4
我试图使用多个插入(在一个语句中),我有这个表结构
CREATE TABLE Scores
(
studentID varchar(50) not null,
score int
)
ENGINE = InnoDB
Run Code Online (Sandbox Code Playgroud)
我的查询:
INSERT INTO Scores Values
('Barry', 45),
(NULL, 41),
('Jones', 53)
Run Code Online (Sandbox Code Playgroud)
由于[StudentID]列不接受NULL,因此该语句(我预期)会失败.问题是MySQL将空字符串('')插入第2行......并允许其余部分继续.
阅读代码生成和T4文本模板,我发现这个语法<#= DateTime.Now#>
<html><body>
The date and time now is: <#= DateTime.Now #>
</body></html>
Run Code Online (Sandbox Code Playgroud)
它与<%= DateTime.Now %>
or 有什么不同<%# DateTime.Now %>
?
谷歌搜索没有显示
我创建了一个树作为双重可扩展列表视图,其中一个项目比其他项目有更多的孩子(15),并没有显示他的所有孩子.
_ ______
+|_______|
_______
+|_______|
_______
|_______|
_______
|_______|
...
...
_______
|_______| // 11-th item
_______ // 12-th item can be seen a little and it-s clickable
_______
+|_______|
_______
+|_______|
...
...
_______
+|_______|
Run Code Online (Sandbox Code Playgroud)
在第12个项目之后,列表被删除.我没有对列表的大小施加任何约束.知道为什么会这样吗?谢谢!
编辑 这是第一个可扩展列表的代码.
<ExpandableListView android:layout_width="fill_parent" android:id="@+id/ParentLevel"
android:groupIndicator="@null" android:choiceMode="singleChoice"
android:layout_height="fill_parent"
android:layout_above="@id/button_layout"
android:paddingRight="5dp">
Run Code Online (Sandbox Code Playgroud)
另一个子列表添加在适配器getView()方法中.
代码示例
//MainActivity.java
public class MainActivity extends Activity implements OnChildClickListener {
ExpandableListView elv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// QUI SOTTO
Tree root = new Tree("root", 123);
for (int i …
Run Code Online (Sandbox Code Playgroud) 首先,我可以提前为我的帖子质量道歉,因为这是我第一次在这里发布.我过去在这个网站上找到了一些非常有用的答案,因此我发现自己有能力回馈我以为我会试一试.
在我的头撞墙一段时间,并在网上找到很少的可靠信息后,我终于找到了一个对我有用的问题的答案并回答了几个问题,所以我想我会分享我的发现.
场景:
问题:
首次显示页面时,一切都很好.所有工具箱都能正确显示并按预期工作.但是,按下按钮并刷新UpdatePanel时,工具箱会消失.
方案:
首先,我很快从其他人的问题和答案中确定我需要使用PageRequestManager将EndRequestHandler添加到我的页面,该PageRequestManager将处理异步回发请求并触发一些javascript来呈现我的工具箱.
接下来我需要弄清楚这个javascript应该是什么.
我在网上找到了许多针对这个问题的解决方案,大多数使用window.addthis = null并使用jquery getScript()来重新运行addthis javascript,但这些都没有解决问题.我一直回到AddThis网站上的文档,该网站声明你应该使用addthis.toolbox()来使用javascript渲染你的工具箱,这似乎对我不起作用.
然后我有一个灯泡时刻.似乎addthis.toolbox()函数忽略了addthis:url和addthis:我在工具箱div中设置的title属性,我意识到我需要通过在共享中定义它们将这些属性传递给addthis.toolbox()配置对象.从那以后,事情变得容易多了.
最终解决方案分为3部分.
首先是在用户控件中定义的tollbox DIV,它具有唯一的ID并包含addthis:url和addthis:title属性:
<div id="toolBoxWrapper" class="toolBoxWrapper" runat="server">
<div id='<%="toolBox_" + ControlId%>' class="addthis_toolbox" addthis:url='<%=AssociatedUrl%>' addthis:title='<%=AssociatedName%>' >
<a class="addthis_button_email"></a>
<a class="addthis_button_facebook"></a>
<a class="addthis_button_twitter"></a>
<a class="addthis_button_print"></a>
<a class="addthis_button_compact"></a>
<a class="addthis_counter addthis_bubble_style"></a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
接下来,我在控件中创建了一个PreRender处理程序,以创建包含特定于控件的addthis共享配置对象的定义的javascript.这不能只包含在ascx页面中,因为它不起作用.必须使用服务器代码中的RegisterStartupScript创建它:
protected void Page_PreRender(object sender, EventArgs e)
{
// This code creates a control specific addthis_share config object so that
// the toolbox can be re-created after an ajax async …
Run Code Online (Sandbox Code Playgroud) 为什么这些语句有效[使用SQL2008 R2]
Select* FROM TableName --UPDATE: this is not allowed in Oracle (10g)
Run Code Online (Sandbox Code Playgroud)
和
Select *From TableName --UPDATE: this is allowed in Oracle (10g)
Run Code Online (Sandbox Code Playgroud)
现在这个
Select*From TableName --UPDATE: this is not allowed in Oracle (10g)
Run Code Online (Sandbox Code Playgroud)
更新: SQL Server中允许所有三个
我这样知道 Select * From TableName
.net ×5
c# ×4
asp.net ×3
asp.net-mvc ×2
database ×2
sql-server ×2
addthis ×1
ado.net ×1
android ×1
data-formats ×1
dbnull ×1
expression ×1
mdi ×1
multipage ×1
mysql ×1
razor ×1
sql ×1
syntax ×1
t4 ×1
updatepanel ×1
validation ×1
winforms ×1