要求是在输入文本框中的值时进行某些计算,并且由于计算相同,因此将textchanged链接到同一事件.当我选中它时,它会整齐地转到下一个控件并进行回发计算.
现在,在回发和服务器端被调用并执行之后,选项卡顺序混乱并且在选项卡上它不会将焦点带到正确的控件上.它始终指向浏览器窗口中的URL.
请让我知道如何使用tabIndex检索回发后应该是下一个焦点的控件.
<asp:TextBox ID="txtDiscount" runat="server" CssClass="NormalTextBox" TabIndex="45"
MaxLength="3" OnTextChanged="btnCalculatePrice_Click" AutoPostBack="True"></asp:TextBox>
protected void btnCalculatePrice_Click(object sender, EventArgs e)
{....
Run Code Online (Sandbox Code Playgroud)
}
我尝试了下面的代码,但不知道如何获取确切的控件
if(sender!=null)
{
WebControl reqCtrl = (WebControl)sender;
int taborder = reqCtrl.TabIndex;
int nexttabOrder = taborder + 1;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个下拉列表添加到强类型剃刀视图中.ASP.Net MVC 4.0,Razor View引擎版本2.0.0.0
@using System;
@model SampleApp.Models.ServiceRequestModel
@{
ViewBag.Title = "ServiceRequest";
}
@Html.DropDownListFor(m=>m.CategoryID, Model.Categories)
Run Code Online (Sandbox Code Playgroud)
模型如下:
public class ServiceRequestModel
{
public int ID { get; set; }
public int CategoryID { get; set; }
public SelectList Category { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
它始终在CSHTML文件中的intellisense中显示错误:
System.Web.WebPages.Html.HtmlHelper'不包含'DropDownListFor'的定义,并且没有扩展方法'DropDownListFor'接受类型'System.Web.WebPages.Html.HtmlHelper'的第一个参数可以找到(你错过了吗?) using指令或程序集引用?)
它也给出了以下错误:
错误3当前上下文中不存在名称"model"
我检查了View文件夹中的web.config:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
Run Code Online (Sandbox Code Playgroud)
我在每个表上都有很少的属性,如CreatedDate,ModifiedDate,VersionNo.每次修改实体时,我都需要更改/添加这些属性的值.我以为我可以用这些属性创建一个Base类,并让Entities派生自这个Base类,在基于ObjectState的SavingChanges中,我可以更改Values和Save,这样我的审计条目就会从实体中分离出来抽象.但由于我是Entity Framework的新手,我发现很难理解如何处理映射等等.
如果有人可以提出实施这一点的想法,那将非常有帮助.存储库代码如下:
public class GeneralRepository<T> : IRepository<T> where T : class
{
private ObjectSet<T> _set;
private ObjectContext _context;
public GeneralRepository(ObjectContext context)
{
if (context == null) throw new ArgumentNullException("context");
_context = context; // sets the context
_set = context.CreateObjectSet<T>(); // returns the Object Set
}
#region Methods to override to work with ObjectGraphs .
/// <summary>
/// To insert data from entity into a table.
/// </summary>
/// <param name="entity"></param>
public virtual void Insert(T entity)
{
if (entity == …Run Code Online (Sandbox Code Playgroud) 我们有asp.net按钮,我们根据用户权限禁用它们.示例代码是
btnSave.Enabled = false;
Run Code Online (Sandbox Code Playgroud)
该按钮被禁用,因此在IE中无法点击.但是在Mozilla中,按钮看起来已启用,但用户无法单击它.
机器操作系统:Windows 7 IE版本:8.0 Mozilla版本:Mozilla/5.0
任何解决方法或解决方案,或为什么它这样做