我正在现有的Web应用程序上实现AngularJS,它需要像没有AngularJS那样的常见HTTP POST.
这似乎比我预期的要困难.页面URL是动态生成的,无法使用PHP进行回显.我尝试使用jQuery修改表单操作,但这似乎也不起作用.
以正常方式提交表格真的不可能吗?这就是我的正常形式:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form method="post">
<input type="text" name="txt">
<input type="submit" name="submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这与AngularJS的形式相同:
<!DOCTYPE html>
<html ng-app>
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
</head>
<body>
<form method="post">
<input type="text" name="txt">
<input type="submit" name="submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
第一个表单执行常规表单发布,第二个表单不执行.根据http://docs.angularjs.org/api/ng.directive:form这是设计的,我可以在表单中提供"action"参数.将它留空是行不通的,并且使用jQuery修改它似乎也不起作用.
基本上我遇到与此用户相同的问题: 如何使用鼠标保持和释放来检查TrackBar滑动 我使用提供的第一个解决方案修复了此问题.但是,当调用计时器时,我想在Web浏览器控件上调用InvokeScript.InvokeScript运行时没有错误,但从不调用javascript函数.当我像按钮单击事件处理程序一样调用此脚本时,将正确调用该函数.
我发现当我尝试从webbrowser控件(如MessageBox.Show(webBrowser1.DocumentText))访问属性时,会抛出InvalidCastException.
// in constructor:
webBrowser1.AllowWebBrowserDrop = false;
webBrowser1.IsWebBrowserContextMenuEnabled = false;
webBrowser1.WebBrowserShortcutsEnabled = false;
webBrowser1.ObjectForScripting = this;
timer = new System.Threading.Timer(this.TimerElapsed);
private void trackBar2_ValueChanged(object sender, EventArgs e)
{
timer.Change(500, -1);
}
private void TimerElapsed(object state)
{
this.webBrowser1.InvokeScript("jmp_end");
MessageBox.Show(this.webBrowser1.DocumentText);
timerRunning = false;
}
private void TimerElapsed(object state)
{
WebBrowser brw = getBrowser();
brw.Document.InvokeScript("jmpend");
MessageBox.Show(brw.DocumentText);
timerRunning = false;
}
Run Code Online (Sandbox Code Playgroud)
有谁知道我在做错了什么?或者是否有其他方法可以获得相同的结果?
在关于InvokeRequired的评论之后,这听起来就像我需要的那样..但是我无法让它工作..这是我从C#System.InvalidCastException的示例代码中得到的.
public delegate WebBrowser getBrowserHandler();
public WebBrowser getBrowser()
{
if (InvokeRequired)
{
return Invoke(new getBrowserHandler(getBrowser)) as …
Run Code Online (Sandbox Code Playgroud) 我目前正在试图弄清楚如何正确实现MVC原则.让我们举一个简单的博客.我有一个包含两个表的数据库:博客和评论.博客表包含标题,内容,日期等字段.评论包含自动名称,日期,内容,类似的东西.
让我们从更简单的项目开始.我有几点看法.喜欢:
控制器对我来说也很清楚:
但随后是模特.我真的不知道应该如何实现这些.Zend Framework快速入门页面推荐了一个非常小的模型,它只包含私有属性以及特定项的getter和setter.他们建议在Mapper中使用数据库逻辑.
但这是我的问题.假设我想要获取最新的博客项目.你会如何实现这个?你在哪里写函数fetchRecentItems()?在映射器中?似乎这应该只包含基本的CRUD语句.在另一个模型中,比如BlogService?在控制器?
有人可以帮帮我吗?我很想看到一个快速的伪代码示例.
(我试图总结我的知识,使我的思考过程更加清晰.如果我理解错误,请纠正我.谢谢!)