使用这样的表单时:
<h2>
<%:Model.EulaTitle %>
</h2>
<p>
<%=Model.EulaHtml %>
</p>
<a name="errors"></a>
<%:Html.ValidationSummary()%>
<div style="text-align:center;">
<% using (Html.BeginForm())
{ %>
<%:Html.HiddenFor(model => model.SourceUrl)%>
<%:Html.HiddenFor(model => model.EulaId)%>
<a name="accept"></a>
<div style="text-align:center;">
<%:Html.CheckBoxFor(model => model.Accepted)%>
<%:Html.LabelFor(model => model.Accepted)%>
</div>
<input type="submit" value="Submit">
<% } %>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要页面滚动到#errors它发布时.将Model.EulaHtml包含一些长度EULA文本和我喜欢的是,用户不必手动向下滚动看到一个错误信息,如果他们发布的页面不接受该协议.
如果控制器ModelState.IsValid在Post上检测到,则会重定向到另一个页面.如果没有,我需要留在此页面,但滚动到#errors书签锚标签.
我想过只是在表单操作的url末尾添加'#errors',但是我收到了错误a potentially dangerous .... ('%').我可能错误地编码了哈希标记.其他人不得不处理这个?我们正在处理对浏览器兼容性(IE6 +以及其他所有其他方面)的限制性要求,因此我尽量避免使用JavaScript.
更新
我收到的错误是:
A potentially dangerous Request.Path value was detected from the client (%).
Run Code Online (Sandbox Code Playgroud)
我修改了Html.BeginForm()调用
<% using (Html.BeginForm(new …Run Code Online (Sandbox Code Playgroud) 我有一个混合的ASP.NET /经典ASP应用程序,我希望能够在ASP代码中设置断点.这可能吗?使用VS2010 Ultimate在Win7上运行IIS7.
现在,Unreal 3引擎的Unreal Development Kit是免费的,我正在考虑将它用于应用程序.你认为有可能将虚幻3驱动的3D窗口变成.NET(WPF或Windows窗体)并使用c#控制游戏对象的部分吗?引擎是c ++吗?或COM或是否有.NET包装或什么?
在花费了很少的时间来转换使用串联html的页面后,例如
string output = "";
output +="<ul>";
foreach(MyClass item in MyItems)
{
output += "<li>"+item.Name+" - "+item.SomeProperty.ToString()+"</li>";
}
output+="</ul>";
literalPlaceHolder.Text=output;
Run Code Online (Sandbox Code Playgroud)
要使用ListView控件,我刚刚发现原来的开发人员回去并将页面转换回使用串联的html。我个人的感觉是,列表视图和转发器适合使用更简洁,信息更丰富的标记,这些标记可以由对C#经验较少的人进行编辑,并且速度更快,使用的内存更少。至少页面应该使用StringBuilder而不是字符串。有人对此有很好的论据吗?当我提起这个问题时,我感觉它会引起重大冲突。
我正在实现一个自定义成员资格提供程序,在创建MembershipUser对象之前,所有内容似乎都在游动.那时,我收到错误:
指定的成员资格提供程序名称无效.参数名称:providerName
在web.config会员密钥是
<membership defaultProvider="MembersProvider">
<providers>
<clear/>
<add name="MembersProvider" type="Members.Providers.MembersProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="DeviceDatabase" />
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
从我的自定义User类创建MembershipUser对象时:
public static MembershipUser ToMembershipUser(User user)
{
MembershipUser member = new MembershipUser
("MembersProvider"
, user.Name
, user.Id
, user.EmailAddress
, user.PasswordQuestion
, user.Comment
, user.IsApproved
, user.IsLockedOut
, user.DateCreated
, user.LastLoginDate ?? DateTime.MinValue
, user.LastActivityDate ?? DateTime.MinValue
, user.LastPasswordChangedDate ?? DateTime.MinValue
, user.LastLockoutDate ?? DateTime.MinValue
);
return member;
}
Run Code Online (Sandbox Code Playgroud)
(我意识到我可能只是从MembershipUser继承我的User类,但它已经是现有类层次结构的一部分.老实说,我认为这是我第一次遇到多重继承的合法需求!)
我的感觉是new MembershipUser(...)providerName参数应该与设置的匹配web.config …
如果我添加验证属性:
public class ProductDownloadListModel
{
//xxxxx-xxxxx-xxxxx
[Required]
[StringLength(17)]
public string PSN { get; set; }
public DateTime PsnExpirationDate { get; set; }
public DataTable Downloads { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
并且用户输入一个17个字符的字符串,但最后包含空格,我得到验证错误,因为字符串大于[StringLength(17)]属性指定的字符串.我怎么能阻止这个?我希望在提交之前不必让javaScript修剪字符串.
因为搜索谷歌的标点符号非常困难......
我知道在Razor中@启动一个代码块,但是@*做了什么?据我所知,在VS中,它会启动一个评论块.如果那不同/*,怎么样?
我有一些通用参数声明为全局(__constant)结构,如下所示:
typedef struct
{
int a;
int b;
float c;
/// blah blah
} SomeParams;
__constant SomeParams Parameters;
Run Code Online (Sandbox Code Playgroud)
在内核中,我需要像这样使用它:
__kernel void Foo()
{
int a = Parameters.a;
/// do something useful...
}
Run Code Online (Sandbox Code Playgroud)
在执行内核之前,我不确定如何从主机初始化参数值.
我为内核参数创建缓冲区等没有问题,但由于这不是内核参数,我需要做什么?
我正在使用Cloo C#/ OpenCL绑定,但即使是原始的CL API也会有所帮助.
我正在将一个正常运行的OpenGL应用程序从Windows移植到OSX,并在调用后不断收到"无效操作"(代码1282)错误glEnableVertexAttribArray().这是渲染方法:
gl::Disable(gl::DEPTH_TEST);
gl::Disable(gl::CULL_FACE);
gl::PolygonMode(gl::FRONT_AND_BACK,gl::FILL);
/// render full-screen quad
gl::UseProgram(m_program);
check_gl_error();
gl::BindBuffer(gl::ARRAY_BUFFER, m_vertexBuffer);
gl::BindBuffer(gl::ELEMENT_ARRAY_BUFFER, m_indexBuffer);
check_gl_error();
GLint positionLocation = -1;
positionLocation = gl::GetAttribLocation(m_program,"Position");
check_gl_error();
/// positionLocation now == 0
gl::EnableVertexAttribArray(positionLocation);
//// ************ ERROR RETURNED HERE **********************
//// ************ ERROR RETURNED HERE **********************
check_gl_error();
gl::VertexAttribPointer(positionLocation,3,gl::FLOAT,false,3 * sizeof(GLfloat),(const GLvoid*)0);
check_gl_error();
gl::DrawElements(gl::TRIANGLES,m_indexCount,gl::UNSIGNED_SHORT,0);
check_gl_error();
gl::BindBuffer(gl::ARRAY_BUFFER,0);
check_gl_error();
gl::BindBuffer(gl::ELEMENT_ARRAY_BUFFER,0);
check_gl_error();
Run Code Online (Sandbox Code Playgroud)
check_gl_error() 只是得到最后一个GL错误并返回一个有点可读的描述.
此代码在Windows下正常工作.但是,正如我正在迅速学习,这并不一定意味着它是正确的.我已经验证了所有以前绑定的对象(程序,顶点缓冲区,索引缓冲区)都是有效的句柄.glGetAttribLocation()返回Position属性的有效位置(在本例中为0).
失败的情况是glEnableVertexAttribArray()什么?我之前没有设置一些州吗?
如果我注释掉绘制代码,窗口将被清除为我的测试颜色(红色)(从代码片段中未显示的方法调用)在每个帧上,其他一切正常,这意味着其他一切都是正确的.
建议?
哦,对于GL状态机模拟器,它会告诉我为什么它是"无效操作".(或者参考一些神秘的,神奇的文档,描述每个gl*调用所需的输入状态.)
c# ×2
.net ×1
3d ×1
asp-classic ×1
asp.net ×1
asp.net-mvc ×1
attributes ×1
breakpoints ×1
c++ ×1
debugging ×1
game-engine ×1
html ×1
interop ×1
macos ×1
opencl ×1
opengl ×1
razor ×1
repeater ×1
shortcuts ×1
trim ×1
validation ×1
xcode5 ×1