我正在尝试使用JQuery的$ .getJSON来从Controller访问Model数据,并在javascript中构建一个JSON对象,以便在用户添加和删除列表中的项目时使用.所有JS都在外部文件中完成.模型数据在服务器上的命中仅在页面首次加载后完成,因此我可以获得用户可供选择的完整选项列表.之后,用户可以根据需要修改列表(并相应地更新JSON对象),然后将其保存(写回数据库).
但这是我的问题:当使用$ .getJSON时,我需要在Controller中调用的方法需要一个ID,以便它可以查找我正在讨论的特定资源并获取与该特定资源相关的选项列表.但是从外部JS文件中,我不知道如何将该ID传递给Controller.它内置在首先打开页面的链接中,并且位于URL中,但是一旦页面加载,我不知道如何获取此ID以将其传递给Controller.我在下面粘贴了一些代码,因为我知道这很令人困惑:
Controller中最初加载页面的详细信息方法(使用resourceID知道要加载的内容):
public ActionResult Details(string resId)
{
//call base method
base.Details(resId, resourceType);
Evaluation eval = (Evaluation)this.Model;
ViewData.Model = eval;
return View("Index");
}
Run Code Online (Sandbox Code Playgroud)
在我的外部JS文件中,我这样做:
$.getJSON("/Evaluation/PopulateJournalOptions/" + id, populateJSON);
Run Code Online (Sandbox Code Playgroud)
在Controller中,我编写了另一个名为PopulateJournalOptions的方法,该方法被调用以构建JSON对象:
public JsonResult PopulateJournalOptions(string resId)
{
JournalOptionsResult jsonResult = new JournalOptionsResult();
base.Details(resId, resourceType);
Evaluation eval = (Evaluation)this.Model;
jsonResult.Activities = eval.Journal.Activities;
jsonResult.Issues = eval.Journal.Issues;
jsonResult.ScheduledActions = eval.Journal.ScheduledActions;
return Json(jsonResult);
}
Run Code Online (Sandbox Code Playgroud)
同样,我的问题是,一旦页面加载,我就无法访问我需要传递给PopulateJournalOptions的ID.我已经尝试过不向PopulateJournalOptions传递任何东西,并在那里创建一个新对象并将其设置为等于(Evaluation)this.Model,但是this.Model似乎是null,可能是因为它是从JS调用它的Controller的新实例.所以我有点被困在这里.有任何想法吗?
这对我来说有点困扰了一段时间.我在MVC中大量使用部分视图,并使用Visual Studio 2008进行开发.问题是,当我在部分视图(<div class="someClass">)中给html元素一个类时,它会以绿色加下划线,就像它不知道它们是什么一样.
我意识到这是因为我处于局部视图中,并且没有将链接标记放在该文件中的任何位置以便知道CSS的位置(链接标记位于呈现局部视图的主视图中).CSS仍然可以在我的网站上正常运行,因为浏览器无论如何都会将所有视图渲染为一个长html页面,但是查看我的部分视图并看到我的所有类以绿色下划线是非常烦人的.
有没有办法我仍然可以告诉Visual Studio这些类存在于某个地方,从局部视图?我认为必须有一种让它知道的方法,但我不确定它是什么.也许从父视图导入样式表的方法?
我想确保我不会疯狂,因为我无法在jQuery的演示页面上使用任何效果演示.我认为它可能是我的新Firebug版本(1.5.2)或Firefox,但它们也不适用于IE或Chrome.
以下是演示不起作用的链接.一个用于突出显示,另一个用于爆炸.顺便说一句,突出显示是我正在尝试使用的.它可能是新的jQuery UI版本吗?是否有其他人没有这些工作?
正如你们许多人所知,你发现的大多数jQuery(或javascript,就此而言)插件可以下载为常规格式化代码,缩小版本或两者兼而有之.出于开发目的,我喜欢使用插件的非缩小版本,以防我需要设置Firebug断点或因任何原因查看它.
现在,当我打包我的应用程序并进行部署时,为了提高效率,我宁愿切换到插件的缩小版本.我知道这样做的唯一方法是手头有两个版本,然后手动更改我的视图中的所有引用(我使用MVC)指向缩小版本,然后打包和部署.理想情况下,我也会缩小(也许会混淆)我自己的javascript文件.
有没有人知道使用非缩小插件(为了便于阅读)和使用缩小版本(为了提高效率)进行开发的更好,更有效的方法?你可以指点我谈论它的任何文章吗?我对如何处理javascript部署非常陌生,并且可能会对最佳实践有所了解.
谢谢.
我已经在网上寻找这个问题的答案,但老实说,我似乎找不到MVC路线的好参考.
我的User对象有一个UserController.可以在用户上编辑,保存,查看等,因此我在该控制器中有操作来处理每个操作.这一切都很简单.但我最近创建了一个新的UserProfile对象,人们也可以编辑,查看等.而不是仅为UserProfile创建一个全新的控制器,我想利用现有的UserController.因此,要查看用户的个人资料,我希望网址为:
http://www.example.com/User/Profile/{userProfileID}
Run Code Online (Sandbox Code Playgroud)
要编辑,我希望URL为:
http://www.example.com/User/Profile/Edit/{userProfileID}
Run Code Online (Sandbox Code Playgroud)
UserController中的每个操作都将返回不同的视图页面.
我如何定义处理这种结构的路线?非常感谢.
这应该是直截了当的.我需要一个正则表达式来选择不特定包含某个单词的所有内容.
所以,如果我有这句话:"这句话中间有一个词." 正则表达式除了"中间"之外的所有东西都得到了,我应该选择那句话中的所有内容而不是"中间".
有没有简单的方法来做到这一点?
谢谢.
我有“没有关联标签的表单输入”的问题。这出现在 [textarea]、[select]、[select]、[input] 类上。
这是我的代码:
<div class="panel-body">
<form name="f" data-ng-submit="addTodo()">
Nazwa:
<textarea class="form-control" name="newTodo" data-ng-model="formData.newTodo" required></textarea>
Typ:
<select class="form-control" name="type" data-ng-model="formData.type" data-ng-option="value.name for value in categories" required></select>
Estymowany czas:
<select class="form-control" name="estimates" data-ng-model="formData.estimates" data-ng-option="value + 'h' for value in [] | rangeTime:9:true" required></select>
Data:
<input class="form-control" type="text" data-ng-model="formData.date" data-ng-data-picker="" name="date" required readonly="readonly">
<br />
<button class="btn btn-success" data-ng-disabled="f.$invalid">Add <span class="glyphicon glyphicon-ok"></span></button>
</form>
Run Code Online (Sandbox Code Playgroud)
感谢帮助!
版主澄清:上面引用的消息是 IDE 中的 JetBrains 产品提供的警告。OP 最有可能使用 WebStorm 或 IntelliJ 进行前端开发。
我正在设计REST API并遇到设计问题.我有alerts这个我希望用户能够export使用少数几种文件格式之一.所以我们已经开始使用操作/命令export,感觉就像RPC而不是REST.
而且,我不想假设默认的文件格式.相反,我想要求它提供.我不知道如何设计API来做到这一点,如果没有提供所需的参数,我也不知道要返回什么响应代码.
所以这是我的第一次破解:
POST /api/alerts/export?format=csv
要么
POST /api/alerts/export/csv
这个端点是否按照您的方式设置?它是否以正确的方式设置以要求文件格式?如果未提供所需的文件格式,返回的正确状态代码是什么?
谢谢.
我是 Node JS 和 JS 开发的新手。我有一个由 WebPack 捆绑的 app-bundle.js 文件,它是通过 app.js 文件调用的。
我正在尝试使用 Visual Studio Code 进行调试。我为 VS 代码配置创建了 launch.json 文件。但是,当我在单个 js 文件中插入断点时,我得到
Breakpoints set, but not yet bound
但是,当我在 app.js 或 app.bundle.js 中设置断点时,它工作正常。
我的launch.json如下:
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/app.js"
}
Run Code Online (Sandbox Code Playgroud)
如何让 VS 代码调试器处理单个 js 文件?
我有一个使用 Spring Security 4.0.1.RELEASE 的基于 J2EE REST 的应用程序。不用说,除了 StackOverflow 上有针对性的问题之外,关于 和 的 Spring 文档很少sessionCreationPolicy。sessionFixation
我正在为 Spring Security 使用基于 Java 的配置,如下所示:
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(secureEnabled=true, prePostEnabled=true, jsr250Enabled=true, order=1)
public class DefaultSecurityBeansConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED)
.sessionFixation().migrateSession()
.and()...; // additional config omitted for brevity
}
}
Run Code Online (Sandbox Code Playgroud)
我真的只是想知道 Spring 会发生什么行为,因为它与 相关,考虑到和JSESSIONID的所有可能组合。sessionCreationPolicysessionFixation
SessionCreationPolicy枚举中可能的值为ALWAYS、NEVER、IF_REQUIRED和STATELESS。
会话固定的可能值为newSession、migrateSession、changeSessionId和 …
asp.net-mvc ×3
javascript ×3
jquery ×3
angularjs ×1
api-design ×1
controller ×1
css ×1
debugging ×1
demo ×1
export ×1
firebug ×1
getjson ×1
java ×1
jsessionid ×1
minify ×1
model ×1
node.js ×1
regex ×1
rest ×1
routes ×1
spring ×1
stateless ×1
webpack ×1
webstorm ×1