मेरे पास एक घटक है जिसे मैंने पृष्ठ चर में इसका संदर्भ सेट किया है:

<BlazorWebFormsComponents.Button OnClick="@((args) => btnForms_Clicked(formsButton, args))" @ref="formsButton" Text="Forms Button" CssClass="btn btn-primary">
    
</BlazorWebFormsComponents.Button>

ईवेंट हैंडलर में मैं एक बटन प्रॉपर्टी (टेक्स्ट) सेट करता हूं:

Button formsButton;

public void btnForms_Clicked(object sender, MouseEventArgs e)
{                        
    if (sender is Button)
        (sender as Button).Text = "Good Bye";
}

अधिकांश बटन गुणों के लिए यह कोड काम नहीं कर रहा है, बैककलर के लिए काम करता है लेकिन टेक्स्ट के लिए नहीं। इसके अलावा ब्लेज़र असाइनमेंट लाइन बनाता है, एक हरा रेखांकित और कहता है "घटक पैरामीटर" zzz "को इसके घटक के बाहर सेट नहीं किया जाना चाहिए", तो ब्लेज़र @Ref क्यों प्रदान करता है जबकि अधिकांश संदर्भित गुण सेट नहीं किए जा सकते हैं? या यह काम करने का कोई तरीका है?

0
mz1378 17 मार्च 2021, 13:02

1 उत्तर

मैं Blazor पर निर्यात नहीं कर रहा हूं, लेकिन इसमें भी भाग लिया। आप पेज पर किसी प्रॉपर्टी से आबद्ध होकर ऐसा कर सकते हैं।

<BlazorWebFormsComponents.Button OnClick="@((args) => btnForms_Clicked(formsButton, args))" @ref="formsButton" Text="@ButtonText" CssClass="btn btn-primary">

</BlazorWebFormsComponents.Button>

@code{
    private string ButtonText { get; set; } = "Forms button";

    public void btnForms_Clicked(object sender, MouseEventArgs e)
    {
        ButtonText = "Good bye";
    }
}

मैंने कभी भी @Ref का उपयोग नहीं किया है और अभी तक नहीं जानता कि इसका उपयोग कैसे या कब करना है।

0
Pidon 17 मार्च 2021, 10:19