我一直在阅读Scott Guthrie关于将ViewData从控制器传递到视图的帖子,但我不认为该课程是针对我的具体情况点击的.
(注意:由于客户端的专有限制,我不能说贴实际代码,所以如果我的编写案例有点愚蠢/混乱,我道歉.)
我有一个名为ScenarioController的Controller,它处理围绕创建Scenario模型的各种操作.用户将完成的各种操作是方案的一般CRUD.我可以创建一个为Scenario模型执行此操作的网站.但是,我最近更新了Scenario模型,现在它由各种子组件(其他对象列表)组成.相应的视图使用jQuery选项卡,它加载部分视图,最终将表单加载到各种子组件数据.不幸的是,这是我遇到麻烦的地方.
我的索引页面目前看起来像这样:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm()) {%>
<div id="scenario">
<div id="tabs">
<ul>
<li><a href="#tab1">Tab 1</a></li>
<li><a href="#tab2">Tab 2</a></li>
<li><a href="#tab3">Tab 3</a></li>
</ul>
<div id="tab1"><% Html.RenderPartial("Tab1"); %></div>
<div id="tab2"><% Html.RenderPartial("Tab2"); %></div>
<div id="tab3"><% Html.RenderPartial("Tab3"); %></div>
</div>
<div class="submitButtons">
<input type="button" value="Save Scenario" id="SaveScenario" />
<input type="button" value="Submit Scenario" id="SubmitScenario" />
</div>
</div>
<% } %>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)
并且部分页面强烈地键入它们所代表的任何内容(主要是List<SomeObject>).
如何在Scenario模型中存储数据?我正在使用SQL数据库并与Entity Framework连接.我是否仍然需要表示各种项目列表的属性(因此我可以使用强类型类传递ViewData),或者这是我可以直接从实体调用传入ViewData(并根据需要进行转换)?
我正在使用jQuery UI选项卡,其中每个选项卡上都有不同的表单.在用户输入各种数据后,他们提交整个选项卡集,以便每个选项卡异步发布到服务器.这很好用,我在这里没有问题.
但是,遇到问题的是,我发布的最后一个表单必须在所有其他帖子完成之后发生.一般的想法是这样的:
postForm(0, "#Form1");
postForm(1, "#Form2");
postForm(2, "#Form3");
postForm(3, "#Form4");
$.post('Project/SaveProject', function (data) {
$('<div class="save-alert">The current project has been saved.</div>')
.insertAfter($('#tabs'))
.fadeIn('slow')
.animate({ opacity: 1.0 }, 3000)
.fadeOut('slow', function () {
$(this).remove();
});
});
Run Code Online (Sandbox Code Playgroud)
postForm函数进行一些处理,然后进行AJAX $ .post调用.这里执行的最后一个$ .post(到'Project/SaveProject')必须等到其他帖子完成.这样做的最佳方法是什么?
是否可以设置Eclipse,以便当我在工作集之间切换时,只会自动构建该工作集,此外,Problems/Tasks/etc视图仅显示当前工作集中包含的项目的信息?我四处搜索,找不到任何东西(除了手动设置这些过滤器).
谢谢你的帮助.
当我正在使用一个新的数据库项目(在VS2008中),并且因为我从未开始从头开始创建数据库,我立即开始研究如何在源代码控制中管理数据库(在本例中为Subversion).
我在SO上找到了一些信息,包括这篇文章:保持多个环境中的开发数据库同步. 其中一个答案特别指出了一些链接,所有这些链接都有很好的有用信息.
我正在阅读K. Scott Allen撰写的一系列文章,描述他如何管理数据库变更.从我的阅读(请原谅我的问题的无意义),似乎数据库本身从未被检查到存储库.相反,可以在存储库中检查可以构建数据库的脚本以及测试数据(也从脚本填充).最终,这意味着,当开发人员测试他或她的应用程序时,将运行这些脚本,这些脚本是构建过程的一部分.这可确保数据库是最新的,但也可以从每个开发人员的计算机本地运行.
这对我来说很有意义(如果我确实正确地阅读了这一点).但是,如果我遗漏了某些内容,我将非常感谢您提供更正或其他指导.此外,另一个问题我要问-这是否也意味着我要不要在检查中密度纤维板或LDF被从Visual Studio中创建的文件?
感谢您的帮助和其他见解.永远感激.
我正在为我的ASP.NET 5 MVC应用程序创建授权规则/策略.创建它很简单,很容易做到,它正在工作(我的基本测试).但是,我现在需要将我的数据上下文纳入需求.
我在IAuthorizationRequirement实现中创建了一个构造函数,它接受一个MyContext实现的对象DbContext.
我正在我的Startup.cs文件中注册IAuthorizationRequirement .
services.Configure<AuthorizationOptions>(options =>
{
options.AddPolicy("AllowProfileManagement", policy => policy.Requirements.Add(
new AllowProfileManagementRequirement(new MyRepository(new MyContext()))));
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我的规则运行时,MyContext不知道所使用的连接字符串(更远Startup.cs):
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<MemorialContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
Run Code Online (Sandbox Code Playgroud)
我正在使用DI这些类型(并且它正在工作).
services.AddTransient<MyRepository>(
provider => new MyRepository(provider.GetRequiredService<MyContext>()));
Run Code Online (Sandbox Code Playgroud)
我知道我在做什么是不对的,但我不知道如何做到这一点,以便DI在所有方面得到充分利用.
c# asp.net entity-framework dependency-injection asp.net-core
我正在一个网站(用C#开发的ASP.NET)上传递给我.当我在网站上工作时,我注意到网站中有很多类型的代码:
EmailLabel.Visible = false;
WhateverButton.Visible = false;
AnotherControl.Visible = false;
...
Run Code Online (Sandbox Code Playgroud)
这通常都是在站点的代码隐藏中完成的(在Page_Load方法中).本质上,这是为了防止未登录的用户访问组件(该站点的规则是未登录的用户在登录之前不应该看到该站点的任何部分).上面的方法工作 ......但是,总是检查用户是否已登录然后翻转到所有这些组件的正确状态似乎相当昂贵.
有没有一种方法可以解决这个问题.只是从思考它/研究,我想也许有一种方法,如果用户没有登录,我可以重定向回主页.更进一步,我可以扩展一个基页,这将为任何扩展基页的页面.但是,我对这方面的了解有限,所以我的建议可能不起作用.
有什么可以暗示的?还有什么更好的?有什么好的吗?
我正在寻找一个连接到与C#一起使用的Bugzilla的库.我确实找到了Bugzilla C#Proxy,但它并不是我想要的.我无法通过Google搜索找到任何其他内容.有人有任何其他建议吗?谢谢.
我正在尝试按照Android Studio 0.8.6 设置Google Play服务教程.最后,我想将Google+登录按钮添加到我的应用中(例如,请参见下文).当我将按钮添加到我的XML时,预览窗格(以及在调试模式下部署它时的应用程序本身)会显示以下错误消息:
呈现问题无法实例化以下类: - com.google.android.gms.common.SignInButton(Open Class,Show Exception)提示:在自定义视图中使用View.isInEditMode()可在显示时跳过代码或显示示例数据在IDE中
异常详细信息java.lang.ClassNotFoundException:java.lang.ClassLoader.loadClass(ClassLoader.java:306)中的com.google.android.gms.dynamic.f,位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)at java.lang.ClassLoader.defineClass1(ClassLoader.java:-2)java.lang上的java.lang.ClassLoader.defineClass(ClassLoader.java:637)java.lang上的java.lang.ClassLoader.defineClass(ClassLoader.java:621). java.lang.ClassLoader.loadClass(ClassLoader.java:306)中的ClassLoader.defineClass(ClassLoader.java:471)位于com.google.android.gms.common的java.lang.ClassLoader.loadClass(ClassLoader.java:247) .SignInButton.z位于com.google.android.gms.com上的com.google.android.gms.common.SignInButton.setStyle,位于com.google.android.gms.com上.SignInButton.在com.google.android.gms.common.SignInButton.在java.lang.reflect.Constructor.newInstance(Constructor.java:513)的android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:802)android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64).在android.view.LayoutInflater.inflate(LayoutInflater.java:381)的android.view.LayoutInflater.inflate(LayoutInflater.java:500)中查看.LayoutInflater.rInflate(LayoutInflater.java:778)将堆栈复制到剪贴板
我已经看到并试图遵循在类似问题中找到的步骤(其中大多数与Eclipse有关).我还试图:
另一点值得注意的是,所有其他Google Play服务调用似乎都在编译.例如,我打电话GooglePlayServicesUtil.isGooglePlayServicesAvailable没有明显的问题.
任何人都可以引导我朝着正确的方向前进吗?
使用Google+登录按钮:
<com.google.android.gms.common.SignInButton
android:id="@+id/sign_in_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud) 我自愿在我的工作场所向我们的用户体验团队提供一小时的午餐时间简报.我对人为因素和用户界面设计充满激情和热爱,并且在整个(尽管很短的)职业生涯中都有我的手.
我遇到的问题是,我很难决定如何集中讨论,以便在一小时的时限内传达一些好的信息.我希望得到SO的意见,你有兴趣听到的内容也可以在一小时内得到.这是我到目前为止:
此时的一切都是非常高的水平.我不确定我是否应该减少主题并深入研究,或者如果只是提供一个完整的高级演示文稿并鼓励个人来与我交谈以获取更多信息会更好.
有关受众的更新
受众(用户体验团队)由许多已经高度了解用户体验所需的人员组成.许多人都是软件开发人员,有些人是设计师.然而,并非所有人都是训练有素的设计师,可能有必要重新获得一些高分.我看到有些方面需要改进(我可以与之交谈).不幸的是,我不是该小组的直接成员,因此我不了解该小组的内部工作情况(这也有助于我更好地关注此演示文稿).
如何使用javascript确定HTMLScriptElement是否已完全加载?
如何在不使用onload或onreadystate更改事件的情况下确定动态加载的脚本是否已完成加载?
代码如下:
TOOL.loadScript = function (url, callback, reappend, deepSearch) {
var head, curr, child, tempScript, alreadyAppended, queue,
alreadyHandled, script, handler, loadFunc;
head = document.getElementsByTagName("head")[0];
tempScript = document.createElement("script");
tempScript.src = url;
alreadyAppended = false;
queue = [];
if (deepSearch) {
// search entire document
queue.push(document.firstElementChild);
}
else {
// just search the head element
queue.push(head);
}
while (queue.length !== 0) {
curr = queue.shift();
// add child nodes to queue
child = curr.firstElementChild;
if (child !== …Run Code Online (Sandbox Code Playgroud) .net ×3
c# ×3
asp.net ×2
ajax ×1
android ×1
api ×1
asp.net-core ×1
bugzilla ×1
database ×1
dynamic ×1
eclipse ×1
google-play ×1
javascript ×1
jquery ×1
onload ×1
post ×1
presentation ×1
security ×1
usability ×1
viewdata ×1