请忍受我的noobness,我是MVC模式的新手.
我想做什么
我正在为我的网站上的注册用户构建个人资料信息页面.此页面将列出有关用户的数据,例如出生日期,电话号码,订阅状态等.您明白了.我还希望有一个表单让用户在同一页面上更改他们的密码,电子邮件地址和个人信息.
我的问题
用户的数据来自我的控制器通过传递的模型变量:
public ActionResult Profil()
{
var model = db.Users.First(e => e.UserName == WebSecurity.CurrentUserName);
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
在我看来输出看起来像这样:
<label>Phone number: </label>
@if (Model.PhoneNumber != null)
{
@Model.PhoneNumber
}
else
{
<span class="red">You haven't set up your phone number yet. </span>
}
Run Code Online (Sandbox Code Playgroud)
用户可以更改其信息的表单将使用另一个模型ProfileModel.所以basiccaly我需要在我的视图中使用两个模型,一个用于输出信息,一个用于发布数据.我认为使用局部视图我可以实现这一点,但我得到了这个错误:
传递到字典中的模型项的类型为"Applicense.Models.User",但此字典需要"Applicense.Models.ProfileModel"类型的模型项.
以下是我对局部视图的调用:
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
@Html.Partial("_ModifyProfileInfo")
}
Run Code Online (Sandbox Code Playgroud)
这是局部视图:
@model Applicense.Models.ProfileModel
<ul>
<li>
@Html.LabelFor(m => m.Email)
@Html.EditorFor(m => m.Email)
</li>
<li>
@Html.LabelFor(m => m.ConfirmEmail)
@Html.EditorFor(m => m.ConfirmEmail)
</li>
<input type="submit" …
Run Code Online (Sandbox Code Playgroud) 我在A
和B
列中有数据.B
列的数据主要是数据的重复A
,但并非总是如此.例如:
A
Budapest
Prague
Paris
Bukarest
Moscow
Rome
New York
B
Budapest
Prague
Los Angeles
Bukarest
Run Code Online (Sandbox Code Playgroud)
A
如果B
存在值,我需要搜索列.如果一行匹配,我需要将行的背景颜色更改A
为红色或其他东西.
我需要使用什么功能,以及如何使用?
对不起,我是Excel的新手.
我想获得列出所有用户的页面上的用户总数.该页面应该是分页的.
到目前为止,这是我提出的:
调节器
$users = User::paginate(10);
return View::make('index', compact('users'));
Run Code Online (Sandbox Code Playgroud)
视图:
{{{ count($users) }}}
Run Code Online (Sandbox Code Playgroud)
但这只给了我当前页面的用户数.我想计算完整的结果集,如果可能的话,不用再查询数据库.
我正在从Javascript向数据库发送JSON字符串,语法如下:
["Product1","Product2","Product3"]
Run Code Online (Sandbox Code Playgroud)
之前我只是将这些数据放在我的数据库中,而不是在php中解码它,并且在retreival之后再次使用它时它没有问题.
但是现在我需要对字符串中的数据进行一些更改,所以我在PHP中对它进行解码,这将产生如下数组:
print_r(json_decode($_POST["myjsonstring"]));
//outputs
//Array
//(
// [0] => Product1
// [2] => Product2
// [3] => Product3
//)
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我将此数组编码回JSON时,字符串的格式如下:
{"0":"Product1","2":"Product2","3":"Product3"}
Run Code Online (Sandbox Code Playgroud)
我需要编码的字符串与我的javascript创建的相同,所以没有数组索引.是否有捷径可寻?
有时,当我将大型数据集发送到作业时,我的队列工作人员突然退出.
// $taskmetas is an array with other arrays, each subsequent array having 90 properties.
$this->dispatch(new ProcessExcelData($excel_data, $taskmetas, $iteration, $storage_path));
Run Code Online (Sandbox Code Playgroud)
该ProcessExcelData
工作类创建使用Excel文件盒/口包.
$taskmetas
有880行 - 工作正常$taskmetas
有10,000行 - 突然退出第一个示例 - 使用小数据集的队列输出:
forge@user:~/myapp.com$ php artisan queue:work --tries=1
[2017-08-07 02:44:48] Processing: App\Jobs\ProcessExcelData
[2017-08-07 02:44:48] Processed: App\Jobs\ProcessExcelData
Run Code Online (Sandbox Code Playgroud)
第二个示例 - 具有大型数据集的队列输出:
forge@user:~/myapp.com$ php artisan queue:work --tries=1
[2017-08-07 03:18:47] Processing: App\Jobs\ProcessExcelData
Killed
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误消息,日志为空,并且作业没有failed_jobs
像其他错误一样出现在表中.时间限制设置为1小时,内存限制为2GB.
为什么我的队列突然退出?
我在我的计算机上重新安装了Windows,在Visual Studio 2012 for Windows Phone中打开任何Windows Phone 8项目后,收到以下错误消息:
The "CompileXaml" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'XamlServicesWP, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the specified file.
File name: 'XamlServicesWP, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
Server stack trace:
at Microsoft.Silverlight.Build.Tasks.CompileXaml.GenerateCode(ITaskItem item, Boolean isApplication)
at Microsoft.Silverlight.Build.Tasks.CompileXaml.Execute()
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.Build.Framework.ITask.Execute() …
Run Code Online (Sandbox Code Playgroud) 我正在建立一个Jekyll博客,我遇到了永久链接的问题.
我在@config.yml中设置了博客文章的永久链接:
permalink: /:page/:categories/:title
Run Code Online (Sandbox Code Playgroud)
导航到博客文章时,它会像这样输出:
http://localhost:4000/blog/travel/netherlands-trip-prequesites/
Run Code Online (Sandbox Code Playgroud)
我在网站上有一些静态页面:Blog,Travel
变量page.url
输出此url:/blog/travel/netherlands-trip-prequesites
导航栏用于突出显示当前页面的代码(为其提供"活动"类):
{% assign url = page.url|remove:'index.html' %}
{% for nav in site.navigation %}
{% if nav.href == url %}
<li class="active"><a href="{{nav.href}}">{{nav.name}}</a></li>
{% else %}
<li><a href="{{nav.href}}">{{nav.name}}</a></li>
{% endif %}
{%endfor%}
Run Code Online (Sandbox Code Playgroud)
导航到静态页面时效果很好,但是当我点击博客文章时,它没有突出显示正确的静态页面.(例如:如果我导航到带有网址的博客帖子,/blog/smth/title
它应该会在我的导航中自动突出显示"博客".当我导航到/travel/smth/title
它时应突出显示"旅行")
我想要做的是剥离的产量下降page.url它的第一部分.例如,我想要提供以下输出
/blog/travel/netherlands-trip-prequesites
Run Code Online (Sandbox Code Playgroud)
向下
/blog/
Run Code Online (Sandbox Code Playgroud)
为什么?所以我可以用它来检查它所属的静态页面并按顺序突出显示它.
有没有一种简单的方法来检查请求是否来自我的应用程序内的操作?
我正在我正在制作的网站上建立电子邮件确认页面,我想在不同的请求来源上显示不同的文本.
如果用户来自我的应用程序中的其他操作(例如:注册操作),那么我只想显示一条文字,上面写着:"感谢您注册x,请在您收到的电子邮件中使用给定的链接确认您的帐户来自我们.."
如果用户不在我的应用程序之外,那么他可能想要确认他或她的帐户,因此我将根据确认的成功显示另一个文本.或许他/她是黑客,并希望在查询字符串中插入恶意代码.
你可能会问,为什么我需要这样做.好吧,我的客户非常热衷于安全性,我想检查网站上的几乎所有请求,这样他就可以安心入睡:)
我需要构建一个连接到Google日历并获取指定事件集的小型Web应用程序.我已经阅读了文档,我了解到我需要对用户进行身份验证,这是我在Google Developer Console上创建的应用程序.
我正在尝试使用弹出窗口实现身份验证(我正在使用fancybox).这是<div>
登录数据的来源:<div id="login-popup" style="display:none"></div>
这是我用来调用auth.php文件的JS代码:
$.get("/auth.php", function(result) {
$('#login-popup').append(result);
$.fancybox({
href: "#login-popup",
autoSize: true,
width: "60%",
fitToView: true
});
});
Run Code Online (Sandbox Code Playgroud)
最后,这是将GET请求发送到Google API的PHP代码:
$ch = curl_init();
if($ch) {
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain'));
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $query);
$result = curl_exec($ch);
curl_close($ch);
}
else {
throw new RuntimeException("Hiba történt a távoli adatok elérése közben!");
}
echo json_encode($result);
Run Code Online (Sandbox Code Playgroud)
所以这个弹出窗口会在此之后出现,因为它应该是:
但是,在我输入凭据后,它会将我重新搜索到Google的登录网站(https://accounts.google.com/ServiceLoginAuth).
我的问题:
我需要能够从这个弹出窗口中获取数据,以获取我以后可以在Calendar API调用中使用的访问令牌.我需要做些什么来实现这一目标?
我有一个输出地址的变量,例如:Budapest, Mindegy utca, 1002 Hungary
.我不需要数字和' Hungary
',只需要第一部分.
所以如果有逗号后跟任何数字,我想拆分.
上述地址的输出应为: Budapest, Mindegy utca
这就是我试图做的事情:
addressVariable.split(', /\[[0-9]+\]/');
Run Code Online (Sandbox Code Playgroud)
但它没有拆分变量.
javascript ×3
php ×3
asp.net ×2
asp.net-mvc ×2
laravel ×2
ace-editor ×1
arrays ×1
c# ×1
excel ×1
google-api ×1
html ×1
jekyll ×1
json ×1
laravel-5 ×1
liquid ×1
model ×1
oauth ×1
pagination ×1
queue ×1
regex ×1
rest ×1
security ×1
split ×1
static-site ×1
string ×1
vba ×1