让抽象类定义实例变量是一种好习惯吗?
public abstract class ExternalScript extends Script {
String source;
public abstract void setSource(String file);
public abstract String getSource();
}
Run Code Online (Sandbox Code Playgroud)
然后子类ExternalJavaScript.class将自动获取源变量,但是如果所有子类本身都定义了源代码而不是继承,我觉得读代码更容易.
你有什么建议?
/亚当
在MDC找到了这个,但是我想如何添加一个私有变量
var dataset = {
tables:{
customers:{
cols:[ /*here*/ ],
rows:[ /*here*/ ]
},
orders:{
cols:[ /*here*/ ],
rows:[ /*here*/ ]
}
},
relations:{
0:{
parent:'customers',
child:'orders',
keyparent:'custid',
keychild:'orderid',
onetomany:true
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在Javascript中理解OOP的方式,如果存在这样的项目,我可以访问dataset.tables.customers.cols [0].
但是,如果我想将私有变量放入客户,那会是什么样子?在运行时错误中
添加var index = 0;
结果.
我在另一台计算机上设置Visual Studio 2010,并希望它具有与旧安装相同的扩展名.如果可能的话,只需导入一个文件包或类似文件就可以了.可以通过这种方式管理设置,这非常有用但我无法为扩展找到相同的功能.
TIA
我正在尝试构建一个Dropdownlist,但与Html.DropDownList渲染作斗争.
我有一节课:
public class AccountTransactionView
{
public IEnumerable<SelectListItem> Accounts { get; set; }
public int SelectedAccountId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这基本上是我现在的视图模型.帐户列表以及用于返回所选项目的属性.
在我的控制器中,我像这样准备好数据:
public ActionResult AccountTransaction(AccountTransactionView model)
{
List<AccountDto> accounts = Services.AccountServices.GetAccounts(false);
AccountTransactionView v = new AccountTransactionView
{
Accounts = (from a in accounts
select new SelectListItem
{
Text = a.Description,
Value = a.AccountId.ToString(),
Selected = false
}),
};
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是:
我正在尝试在我的视图中构建Drop:
<%=Html.DropDownList("SelectedAccountId", Model.Accounts) %>
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
具有键"SelectedAccountId"的ViewData项的类型为"System.Int32",但必须是"IEnumerable"类型.
为什么要我退回整个项目清单?我只想要选中的值.我该怎么做?
所以我使用了新的,尚未最终发布的ASP.NET MVC框架,我发现它非常优雅.但是在工作中我们暂时与Java绑定,所以我想知道:对于像我这样的Java人员,是否有框架的端口?我意识到不幸的是,webforms不可用,但是路由框架呢?
对于我的应用程序,有几个实体类,User,Customer,Post等
我即将设计数据库,我想存储创建和更新实体的日期.这是它变得棘手的地方.当然有一个选择是为每个实体表添加created_timestamp和update_timestamp列但不是那个还原剂?
另一种可能性是创建一个存储此信息的日志表,并且可以使其包含对任何实体的更新的跟踪.
有什么想法吗?我倾向于实施后者.
我有两个单独的ul列表:list-A和list-B
由于jQuery UI插件,它们都是可排序的.
我正在处理的项目的用户希望确认项目从一个列表移动到另一个列表时的操作,但不能在同一列表中移动时确认.触发操作时,页面将向服务器发出Ajax请求以更新列表的位置.
令我感到不安的是事件的顺序.到目前为止,我的经验是在接收事件之前触发更新事件,因此在显示确认对话框之前,已经启动了请求.
不幸的是,我忘记了触发请求的哪个列表,但在我的情况下它确实无关紧要:如果项目被拖到另一个列表上,在用户确认操作之前不应该向服务器发送任何内容.
我已经使用了jQuery但我想我可以在这个上使用一些帮助.
使用Javascript:
$('.sortable').sortable({
start: function (event, ui) {
$(ui.helper).addClass("sortable-drag-clone");
},
stop: function (event, ui) {
$(ui.helper).removeClass("sortable-drag-clone");
},
update: function (event, ui) {
if ($(ui.sender).length == 0) {
alert("item was moved within the same list.");
//Make request
} else {
//do nothing.
}
},
receive: function (event, ui) {
if (confirm("show move or copy dialog, from {0} to {1}")) {
//do request
} else {
$(ui.sender).sortable("cancel");
//no request
}
},
tolerance: "pointer",
connectWith: …
Run Code Online (Sandbox Code Playgroud) 说我有一个像这样的viewmodel:
public class User
{
public int Id { get; set; }
[Required(ErrorMessage="Username is required")]
public string Username { get; set; }
[Range(0, 255)]
public int Owner { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
该页面被提交给它的控制器,我在那里检查ModelState.IsValid,但它没有通过.显然,所有者是必需的.这是为什么?我认为未分配的int的默认值是0.如果我调试应用程序并检查发送到控制器的对象,则该值确实为0.
如果我不想强迫用户输入0,那么最好的方法是什么?我已经尝试将[DefaultValue(0)]属性添加到类中的Owner属性,但它似乎没有任何区别.
即使这是一个新手或琐碎的习惯性概念问题,一些指导也会很好.
问候,
如何在调试时将Visual Studio 2008设置为包含项目根目录中的所有文件?
我在项目根文件夹中有一些文件没有复制到bin/debug文件夹,因此当我要调试应用程序时,我必须手动复制文件.我正在寻找一种方法让VS 在调试构建过程中自动包含这些文件.任何提示?
谢谢./亚当
如何最好地收集给定用户未读取的消息?
现有表格
Message table
----------------------------------
id title body sentAt
User table
----------------------------------
id username
Read Messages table
----------------------------------
user_id message_id
Run Code Online (Sandbox Code Playgroud)
我在想类似的东西
select
m.id, m.title, m.sentAt, u.username
from
message m,
[user] u
where
u.id = 1 and -- @userId parameter
m.id not in
(select r.message_id from read_messages r where r.user_id = u.id)
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不太了解执行计划./亚当
我在webapplication启动阶段(contextInitialized())读取了一个属性文件,我开始考虑如何使这些设置对servlet"可见".我是否需要遍历键并将每个键添加到上下文中,如下所示
Iterator i = settings.keySet().iterator();
while (i.hasNext()) {
key = (String) i.next();
value = (String) settings.get(key);
context.setAttribute(key, value);
}
Run Code Online (Sandbox Code Playgroud)
还是有更好的方法?
谢谢!
/亚当
asp.net-mvc ×3
java ×3
sql ×2
abstract ×1
c# ×1
class ×1
debugging ×1
integer ×1
java-ee ×1
javascript ×1
jquery ×1
optional ×1
timestamp ×1
validation ×1
variables ×1