小编Pet*_*ble的帖子

MVC 4 - 在局部视图中使用不同的模型

请忍受我的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)

asp.net asp.net-mvc model asp.net-mvc-4

29
推荐指数
2
解决办法
9万
查看次数

条件格式化单元格,如果它们的值等于另一列的ANY值

我在AB列中有数据.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的新手.

excel vba conditional-formatting excel-formula

16
推荐指数
3
解决办法
12万
查看次数

通过分页获取结果总数

我想获得列出所有用户的页面上的用户总数.该页面应该是分页的.

到目前为止,这是我提出的:

调节器

$users = User::paginate(10);
return View::make('index', compact('users'));
Run Code Online (Sandbox Code Playgroud)

视图:

{{{ count($users) }}}
Run Code Online (Sandbox Code Playgroud)

但这只给了我当前页面的用户数.我想计算完整的结果集,如果可能的话,不用再查询数据库.

php pagination laravel

15
推荐指数
3
解决办法
2万
查看次数

将数组编码为没有数组索引的JSON字符串

我正在从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创建的相同,所以没有数组索引.是否有捷径可寻?

php arrays json

12
推荐指数
1
解决办法
1万
查看次数

Laravel队列被"杀死"

有时,当我将大型数据集发送到作业时,我的队列工作人员突然退出.

// $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.

为什么我的队列突然退出?

queue laravel laravel-5

9
推荐指数
1
解决办法
7650
查看次数

WP8项目:"CompileXaml"任务意外失败

我在我的计算机上重新安装了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)

c# visual-studio windows-phone windows-phone-8

8
推荐指数
1
解决办法
5261
查看次数

在Jekyll中将网址删除到1个单词

我正在建立一个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)

为什么?所以我可以用它来检查它所属的静态页面并按顺序突出显示它.

html liquid static-site jekyll

6
推荐指数
2
解决办法
2165
查看次数

ASP.NET MVC - 检查请求是否来自其他操作

有没有一种简单的方法来检查请求是否来自我的应用程序的操作?

我正在我正在制作的网站上建立电子邮件确认页面,我想在不同的请求来源上显示不同的文本.

  • 如果用户来自我的应用程序中的其他操作(例如:注册操作),那么我只想显示一条文字,上面写着:"感谢您注册x,请在您收到的电子邮件中使用给定的链接确认您的帐户来自我们.."

  • 如果用户不在我的应用程序之外,那么他可能想要确认他或她的帐户,因此我将根据确认的成功显示另一个文本.或许他/她是黑客,并希望在查询字符串中插入恶意代码.

你可能会问,为什么我需要这样做.好吧,我的客户非常热衷于安全性,我想检查网站上的几乎所有请求,这样他就可以安心入睡:)

asp.net security asp.net-mvc asp.net-mvc-4

2
推荐指数
1
解决办法
5077
查看次数

在Ace编辑器中禁用滚动条

我想在Ace编辑器中禁用所有滚动条,或者用更时尚的东西替换.可以这样做吗?

javascript ace-editor

1
推荐指数
1
解决办法
4089
查看次数

创建Google登录页面以访问服务

我需要构建一个连接到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调用中使用的访问令牌.我需要做些什么来实现这一目标?

javascript php rest oauth google-api

1
推荐指数
1
解决办法
222
查看次数

在逗号后跟任何数字后分隔一个字符串

我有一个输出地址的变量,例如:Budapest, Mindegy utca, 1002 Hungary.我不需要数字和' Hungary',只需要第一部分.

所以如果有逗号后跟任何数字,我想拆分.

上述地址的输出应为: Budapest, Mindegy utca

这就是我试图做的事情:

addressVariable.split(', /\[[0-9]+\]/');
Run Code Online (Sandbox Code Playgroud)

但它没有拆分变量.

javascript regex string split

1
推荐指数
1
解决办法
99
查看次数